我使用下面的代码生成字符串 str 的 XML 编码:str := string([]byte{0x01})marshalBytes, _ := xml.Marshal(str)fmt.Println(string(marshalBytes)) // output: <string>�</string>; � is [239 191 189] in bytes.显然, 不等同于 0x01。我该如何解决?
1 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
字节 [239 191 189] 是Unicode Replacement Character的 UTF-8 编码。
XML 封送拆收器将字节 0x1 替换为 Unicode 替换字符,因为字节 0x01在 XML 中不是合法字符。
无法阻止 XML 封送拆收器使用替换。
- 1 回答
- 0 关注
- 274 浏览
添加回答
举报
0/150
提交
取消