var cstrs []*C.char
header := (*reflect.SliceHeader)(unsafe.Pointer(&cstrs))
header.Data = cstrspointer
header.Len = cstrslength
for _, cstr := range cstrs {
gostrs = append(gostrs, C.GoString(cstr))
}
直接将字符变量赋值给整型变量,即可实现字符到对应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码值的数组}func ByteToBinaryString(data byte) (str string) {var a byte
for i:=0i <8i++ {
a = data
data <<= 1
data >>= 1
switch (a) {
case data: str += "0"
default: str += "1"
}
data <<= 1
}
return str
}
//该代码片段来自于: http://www.sharejs.com/codes/go/4357
使用方法package main
import . "fmt"
func main() {
Printf("[%s][%s][%s][%s]\n",
ByteToBinaryString(byte(0)),ByteToBinaryString(byte(231)),
ByteToBinaryString(byte(168)), ByteToBinaryString(byte(162)))
}