将字节数组转换为字符串的最佳方法是什么?
我需要读取[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