csv 读取非UTF8编码文件内容并正确打印输出

vktxenjb  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(127)

我尝试读取非UTF8编码文件并打印出内容。

content, _ := os.ReadFile("example.csv")
fmt.Println(string(content))

输出:
"""""""""
然后,我尝试转换符文的内容并将其解码为utf8,如下所示:

br := make([]rune, 0)
for len(content) > 0 {
    r, size := utf8.DecodeRune(content)
    br = append(br, r)
    content = content[size:]
}
fmt.Println(string(br))

但结果是一样的,我怎么才能得到正确的内容?PS:我不知道文件的编码类型,它们可以是几种类型,如radionalchinese.Big5或japanese。ShiftJIS和内容不能是文件。它可以是字符串。

ia2d9nvy

ia2d9nvy1#

最有可能的是,您需要来自golang.org/x/text/encoding层次结构的包。
特别是,golang.org/x/text/encoding/charmap允许创建一个encoding.Decoder,它能够将传统的非UTF-8编码的字节流转换为Go语言原生的UTF-8编码的数据流。

相关问题