如何在Go中读写非UTF-8编码的文本文件?
Dec 04, 2024 pm 08:40 PM在 Go 中读写非 UTF-8 文本文件
背景
作者默认情况下,Go 中的标准库假定文本文件采用 UTF-8 编码。但是,在某些情况下,您可能会遇到以不同编码编码的文本文件,例如 GBK。
解决方案
读写非 UTF-8 文本文件在 Go 中,您可以使用以下步骤:
读取非 UTF-8文件
-
导入必要的包: import "golang.org/x/text/encoding/simplifiedchinese"
此包提供GB18030、GBK、HZ -GB2312编码 -
使用transform.NewReader创建一个io.Reader:
1
2
3
4
5
f, err := os.Open(filename)
if
err != nil {
log.Fatal(err)
}
r := transform.NewReader(f, simplifiedchinese.GBK.NewDecoder())
登录后复制
写入非UTF- 8文件
- 导入同一个包: import "golang.org/x/text/encoding/simplifiedchinese"
-
使用创建 io.Writer transform.NewWriter:
1
2
3
4
5
f, err := os.Create(filename)
if
err != nil {
log.Fatal(err)
}
w := transform.NewWriter(f, simplifiedchinese.GBK.NewEncoder())
登录后复制
示例
以下示例演示如何读写 GBK 编码的文本文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
|
此代码打开 GBK 编码的文本文件,读取其内容,并将其写入另一个 GBK 编码的文本文件。
以上是如何在Go中读写非UTF-8编码的文本文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

热门文章

热门文章

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)