小编afb*_*ros的帖子

使用Go中的bufio扫描仪读取unicode字符

我正在尝试读取包含如下名称的纯文本文件:"CASTAÑEDA"

代码基本上是这样的:

file, err := os.Open("C:/Files/file.txt")
defer file.Close()
if err != nil {
    log.Fatal(err)
}
scanner := bufio.NewScanner(file)
for scanner.Scan() {
    fmt.Println(scanner.Text())
}
Run Code Online (Sandbox Code Playgroud)

然后,当读取"CASTAÑEDA"时,它会打印"CASTA EDA"

用bufio阅读时有什么方法可以处理这些字符吗?

谢谢.

unicode go

5
推荐指数
2
解决办法
2303
查看次数

Go:用IO写回车

我正在尝试使用 IO.WriteString 在 Go 中写入文件,但即使写入 "\n" 字符,它也不会打印回车符。我想可能不是我需要写的回车本身,在Windows中,如果我用写字板打开txt文件,会显示回车,但不在记事本中。

关于这种行为的任何想法?,这里是代码:

//Write
t := time.Now().Local()
src, err := os.Stat("/dir")
if err != nil {
    log.Println(err, log.Llongfile)
}
if !src.IsDir() {
    err = errors.New("Folder does not exists")
    log.Println(err, log.Llongfile)
    err = os.MkdirAll("/dir", 665)
    log.Println(err, log.Llongfile)
}
f, err := os.Create("/dir" + "/File_" + t.Format("20060102") + ".txt")
n, err := io.WriteString(f, "Hello World\n")
n, err = io.WriteString(f, "Goodbye\n")
Run Code Online (Sandbox Code Playgroud)

使用此代码,如果我在 Windows 记事本中打开它,txt 文件中的结果是“Hello WorldGoodbye”。

谢谢。

go

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

go ×2

unicode ×1