golang 字符串和整形之间怎么转换

Python012

golang 字符串和整形之间怎么转换,第1张

var gostrs []string

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)))

}