我试图对两个值进行异或。如果我这样做,我可以得到正确的结果,但是,使用string()会导致添加一个随机字节!
任何人都能解释一下吗?
答案 0 :(得分:7)
所以,你有:
z := 175 // 0xaf
这是角色的unicode代码点:¯
接下来的代码行将获取该值并将其视为unicode代码点(符文)并将其转换为utf-8编码的字符串:
out := string(z)
在utf-8编码中,该字符将由两个字节表示:[]byte(0xc2, 0xaf)
因此,您看到的字节是Go字符串的utf-8编码。