golang 读取gbk编码内容
时间: 2023-06-27 07:04:37 浏览: 326
在 Golang 中读取 GBK 编码的内容,可以使用 `golang.org/x/text/encoding/simplifiedchinese` 包来进行转换。以下是一个简单的示例代码:
```go
package main
import (
"bufio"
"fmt"
"os"
"golang.org/x/text/encoding/simplifiedchinese"
)
func main() {
// 打开 GBK 编码的文件
file, err := os.Open("gbk.txt")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
// 使用 GBK 编码进行读取
reader := bufio.NewReader(file)
decoder := simplifiedchinese.GBK.NewDecoder()
content, err := decoder.Reader(reader).ReadString('\n')
if err != nil {
fmt.Println(err)
return
}
// 输出内容
fmt.Println(content)
}
```
在上面的示例代码中,我们首先打开了一个 GBK 编码的文件,并使用 `bufio.NewReader` 函数创建了一个 `*bufio.Reader` 对象,然后使用 `simplifiedchinese.GBK.NewDecoder()` 函数创建了一个 `*encoding.Decoder` 对象,用于将 GBK 编码的内容转换为 UTF-8 编码。接着,我们使用 `decoder.Reader(reader).ReadString('\n')` 函数将 GBK 编码的内容转换为 UTF-8 编码的字符串,并读取其中的一行内容。最后,我们将转换后的内容输出到控制台。
阅读全文