为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 结构体中存储 unicode (golang)

如何在 Go 结构体中存储 unicode (golang)

Go
慕工程0101907 2021-09-21 22:11:51
我正在阅读 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


查看完整回答
反对 回复 2021-09-21
?
万千封印

TA贡献1891条经验 获得超3个赞

Go 期望将字符串数据编码为 UTF-8。如果您的输入数据使用不同的编码,则需要先将其转换为 UTF-8,然后再将其分配给字符串。

您可以手动执行此操作,也可以使用go-charset等第三方库


查看完整回答
反对 回复 2021-09-21
  • 2 回答
  • 0 关注
  • 204 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信