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

我正在阅读 golang 中的 unicode 名称。我的结构项目是字符串类型,但我认为这不正确。

是否有关于如何在 golang 结构中正确存储 unicode 字符串的示例?

当我使用 csv.NewReader 读取 CSV 文档并将其打印到屏幕时,它工作正常,但是一旦作为字符串进入结构中,它就不再正确打印。这似乎是一个简单的字节/字符串问题,但我很难解决它。

我尝试在结构中使用 []byte,但是后来我如何比较字符串以及我将该 []byte 正确打印到文件的方式是什么?由于我以 RDF 格式写入文件,我怀疑我需要转换为 UTF-8 或其他格式?


慕工程0101907
浏览 206回答 2
2回答

慕雪6442864

这取决于您所说的“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

万千封印

Go 期望将字符串数据编码为 UTF-8。如果您的输入数据使用不同的编码,则需要先将其转换为 UTF-8,然后再将其分配给字符串。您可以手动执行此操作,也可以使用go-charset等第三方库
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go