我正在阅读 golang 中的 unicode 名称。我的结构项目是字符串类型,但我认为这不正确。是否有关于如何在 golang 结构中正确存储 unicode 字符串的示例?当我使用 csv.NewReader 读取 CSV 文档并将其打印到屏幕时,它工作正常,但是一旦作为字符串进入结构中,它就不再正确打印。这似乎是一个简单的字节/字符串问题,但我很难解决它。我尝试在结构中使用 []byte,但是后来我如何比较字符串以及我将该 []byte 正确打印到文件的方式是什么?由于我以 RDF 格式写入文件,我怀疑我需要转换为 UTF-8 或其他格式?
2 回答
慕雪6442864
TA贡献1812条经验 获得超5个赞
这取决于您所说的“unicode”是什么意思。Go 中的一切都应该是 UTF-8,包括string数据类型,所以你可能不需要做任何事情(只要你处理 UTF-8)。
[]byte只是一系列字节。它对其中的数据不透明。您无需执行任何特殊操作即可将其写入文件。
该STDLIB有unicode,unicode/utf8和unicode/utf16包。如果您需要,这里还有一个规范化包:http : //godoc.org/golang.org/x/text/unicode/norm
这篇博文可以比我们在这里回答更深入地解释它,并且有一些指向更多资源的链接:http : //blog.golang.org/strings
万千封印
TA贡献1891条经验 获得超3个赞
Go 期望将字符串数据编码为 UTF-8。如果您的输入数据使用不同的编码,则需要先将其转换为 UTF-8,然后再将其分配给字符串。
您可以手动执行此操作,也可以使用go-charset等第三方库
- 2 回答
- 0 关注
- 204 浏览
添加回答
举报
0/150
提交
取消