使用golang处理非utf8输入

时间:2019-03-01 05:02:36

标签: go

我有一些由程序生成的奇怪字符的输入到stdout,我想编写一个go脚本来监视stdout替换那些字符。

我做了一些研究,看来golang仅支持utf8,我对使用UTF解码这些字符进行解码很有趣,例如:https://cafewebmaster.com/online_tools/utf8_encode 例如:

¼将是->ü

是否有golang函数/ library可以帮助您欣赏/ any示例

1 个答案:

答案 0 :(得分:1)

使用text / transform包。不过您需要知道编码...

读取ISO8859格式文本文件的示例:

import (
"golang.org/x/text/transform"
"golang.org/x/text/encoding/charmap"
)

file,_ := os.Open("somefile.txt")
defer file.Close()

reader := transform.NewReader(file, charmap.ISO8859_15.NewDecoder())
scanner := bufio.NewScanner(reader)
for scanner.Scan() {
    line:=scanner.Text()
    // process line
}