我在Windows 7 64位上使用R 2.15.0。我想将unicode(CJK)文本输出到文件。以下代码显示了发送给UTF-8文件连接写的Unicode字符如何无法按预期的方式工作: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也已损坏。这是我那边的地方吗?]
3 回答
函数式编程
TA贡献1807条经验 获得超9个赞
将UTF-8字符串保存在文本文件中:
kLogFileName <- "parser.log"
log <- function(msg="") {
con <- file(kLogFileName, "a")
tryCatch({
cat(iconv(msg, to="UTF-8"), file=con, sep="\n")
},
finally = {
close(con)
})
}
- 3 回答
- 0 关注
- 1161 浏览
添加回答
举报
0/150
提交
取消