将字节数组转换为字符串的最佳方法是什么?
我需要读取[100]byte来传输一串string数据。
由于并非所有string都精确为100,所以byte array的其余部分用0填充。
如果我将[100]byte为string : string(byteArray[:]) ,则string(byteArray[:]) 0将显示为^@^@ s。
在C中, string将终止于0 ,所以我想知道将byte array巧妙地传输到string的最佳方式是什么。
将数据读入字节片段的方法返回读取的字节数。 您应该保存该号码,然后使用它创建您的字符串。 n是读取的字节数,你的代码看起来像这样:
s := string(byteArray[:n])
如果由于某种原因你没有n ,你可以使用字节包来找到它,假设你的输入中没有空字符。
n := bytes.Index(byteArray, []byte{0})
或者正如icza指出的,你可以使用下面的代码:
n := bytes.IndexByte(byteArray, 0)
关于什么?
s := string(byteArray[:])
简单的解决方案:
str := fmt.Sprintf("%s", byteArray)
我不确定这是多么的高性能。
链接地址: http://www.djcxy.com/p/87211.html