我有一些由程序生成的奇怪字符输入到 stdout,我想编写一个 go 脚本来监视 stdout 以替换这些字符。
我做了一些研究,似乎 golang 只支持 utf8,我对使用 UTF 解码这些字符很感兴趣,比如:https://cafewebmaster.com/online_tools/utf8_encode 例如:
ü 将是 -> ü
是否有一个 golang 函数/库可以帮助解决这个问题/任何示例都值得赞赏
最佳答案
使用文本/转换包。不过你需要知道编码...
读取 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
}
关于go - 使用 golang 处理非 utf8 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54938232/