为了账号安全,请及时绑定邮箱和手机立即绑定

R中的UTF-8文件输出

R中的UTF-8文件输出

RISEBY 2020-02-01 17:17:57
我在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)

  })

}


查看完整回答
反对 回复 2020-02-01
  • 3 回答
  • 0 关注
  • 1161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信