Go语言中有单个字符和ascii码值直接转换的方法吗

Python017

Go语言中有单个字符和ascii码值直接转换的方法吗,第1张

直接将字符变量赋值给整型变量,即可实现字符到对应ASCII码的转换。

具体实现方法可以参考如下程序段:

char str[]="abds%*&34dfs" // 定义一个字符数组,存放待转换为ASCII码的字符串

int AsciiNum[20] // 定义一个整型数组,存放字符所对应的ASCII码值,数组大小根据字符串长度进行设置

int i

// 将字符串的每个字符逐个赋值给整型数组AsciiNum,即实现字符到ASCII码值的转换

for(i=0i<strlen(str)i++)

{

AsciiNum[i] = str[i] // 最后数组AsciiNum就是字符串每个字符所对应ASCII码值的数组

}

一般来说,我们不会直接使用ASCII码来处理,因为这样不够直观。比如你说的判定输入是否是字母,是否是数字,那么有个比较直观的方法来处理。如果你看过ASCII码表,那么你就知道字数和字母在ASCII码表中都是连续的,所以这个就比较好解决了。

判定字符ch是否是数字:

if(ch>='0' &&ch<='9')

判定字符ch是否是字母:

if(ch>='a' &&ch<='z' || ch>='A' &&ch<='Z')

当然,有已经定义好的库函数用来判定是否数字和字母,不要加加载头文件<ctype.h>

判定字符ch是否是数字:

if(isalnum(ch))

判定字符ch是否是字母:

if(isalpha(ch))

这两个函数都是判定成立,结果是true也就是1,判定不成立,结果是false,也就是0.

package main

import (

"fmt"

"code.google.com/p/mahonia"

)

func main() {

s := "\xb6\xd4\xb6\xc0\xc1\xa2\xd1\xa7\xd4\xba\xbf\xc9\xb3\xd6\xd0\xf8\xb7\xa2\xd5\xb9\xce\xca\xcc\xe2"

enc := mahonia.NewDecoder("gbk")

fmt.Println(enc.ConvertString(s))

}

代码仅供参考,请根据需要自行修改。