Dyl*_*ink 5

在 Go 中,文件总是在字节级别访问,这与具有文本文件概念的 python 不同。go 中的字符串是隐式 UTF-8 的,因此如果您想将内容解释为 UTF-8,您可以简单地将从文件中获取的字节转换为字符串:

package main

import (
    "fmt"
    "os"
)

func main() {
    dat, err := os.ReadFile("/tmp/dat")
    if err != nil {
        panic(err)
    }
    fmt.Print(string(dat))
}

如果您想以任何其他编码读取文件,则需要进行一些手动转换,例如 UTF-16 到 UTF-8

  • Nitpick:包含字节转义的字符串文字可能不是有效的 UTF-8。 (4认同)