gpt4 book ai didi

r - R中的UTF-8文件输出

转载 作者:行者123 更新时间:2023-12-04 01:36:54 29 4
gpt4 key购买 nike

我在 Windows 7 64 位上使用 R 2.15.0。我想将 unicode (CJK) 文本输出到文件中。

以下代码显示了发送到 UTF-8 文件连接上写入的 Unicode 字符如何不按 (I) 预期工作:

rty <- file("test.txt",encoding="UTF-8")
write("在", file=rty)
close(rty)
rty <- file("test.txt",encoding="UTF-8")
scan(rty,what=character())
close(rty)

如扫描输出所示:
Read 1 item 
[1] "<U+5728>"

该文件不是用 UTF 字符本身编写的,而是某种符合 ANSI 的后备。我可以让它第一次正常工作吗(即,使用一个文本文件中包含“在”来代替),或者我可以使用一些额外的魔法将输出转换为 Unicode,并使用正确的字符替换代码字符串?

谢谢。

[更多信息:相同的代码在 Cygwin、R 2.14.2 中运行正常,而 Win7 上的 2.14.2 也已损坏。这是在我的尽头吗?]

最佳答案

问题是 由于一些 R-Windows 特殊行为 (使用默认系统编码/或使用一些系统写入函数;我不知 Prop 体情况但实际上知道行为)

要在 Windows 上编写文本 UTF8 编码,必须使用 useBytes=T writeLines 或 readLines 等函数中的选项:

txt <- "在"
writeLines(txt, "test.txt", useBytes=T)

readLines("test.txt", encoding="UTF-8")
[1] "在"

在这里找到 Kevin Ushey 写得非常好的文章: http://kevinushey.github.io/blog/2018/02/21/string-encoding-and-r/进入更多细节。

关于r - R中的UTF-8文件输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10675360/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com