将字节数组转换为字符串的最佳方法是什么?

我需要读取[100]byte来传输一串string数据。

由于并非所有string都精确为100,所以byte array的其余部分用0填充。

如果我将[100]bytestringstring(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

上一篇: What is the best way to convert byte array to string?

下一篇: TypeError: must be str, not bytes