go - 使用 golang 处理非 utf8 输入

标签 go

我有一些由程序生成的奇怪字符输入到 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/

相关文章:

go - 为什么要将 Golang 接口(interface)命名为 "Interface"?

json - 将纪元时间戳解码为 time.Time

Go 编译已声明但未使用

variables - 如何通过包共享变量

string - 将可变长度数组从csv解析为struct

Goroutines 内存泄漏

google-app-engine - 如何为 Golang 和 AppEngine 设置 VScode 调试 session ?

go - 从 golang os.exec 调用 'go build' 命令

Golang 函数 - 返回类型

go - Golang 中的标志是否绝对需要值?