为什么Go会在字符串中添加字节?

时间:2015-09-19 20:41:59

标签: string utf-8 go bytearray

当我在0x80或更高的字符串处向字符串添加单个字节时,golang将在我的字节之前添加0xc2。 我认为这与utf8 runes有关。无论哪种方式,我如何只在字符串末尾添加0x80?

示例:

var s string = ""
len(s) // this will be 0
s += string(0x80)
len(s) // this will be 2, string is now bytes 0xc2 0x80

1 个答案:

答案 0 :(得分:0)

如果我使用string(0x80)转换字节,我还没有找到避免添加该字符的方法。但是,我确实发现如果我将整个字符串更改为一个字节片段,然后添加字节,然后切换回字符串,我可以在字符串中获得正确的字节顺序。

示例:

bytearray := []byte(some_string)
bytearray = append(bytearray, 0x80)
some_string = string(bytearray)

有点愚蠢的工作,如果有人找到更好的方法,请发布。