You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中使用write.table正确导出包含上下箭头符号的txt文件

问题原因

Windows系统默认区域编码多为GBK/CP936,和UTF-8不兼容。R的write.table在native编码非UTF-8的运行环境中,会自动将无法匹配native编码的Unicode字符(比如上下箭头)转义为<U+XXXX>格式,该转义行为优先级高于write.table的fileEncoding参数设置,因此直接指定fileEncoding无法解决问题。

解决方案
  • 方案1:base R环境下,通过显式声明编码的文件连接写入
# 建立带UTF-8编码声明的文件连接,需适配Windows自带记事本可改为encoding = "UTF-8-BOM"
con <- file("C:/Users/你的具体路径/导出结果.txt", encoding = "UTF-8")
# 写入数据
write.table(f, con, sep = "\t", quote = F, row.names = F)
# 关闭连接
close(con)
  • 方案2:使用readr包导出,自动规避编码转义问题
# 未安装readr先执行:install.packages("readr")
library(readr)
# 需适配Windows自带记事本可添加参数 bom = TRUE
write_delim(f, "C:/Users/你的具体路径/导出结果.txt", delim = "\t", quote = "none", escape = "none")
验证方法

导出后用Notepad++打开,查看右下角编码标识,若显示为UTF-8则箭头符号可正常展示;如果使用Windows自带记事本,建议导出时选择UTF-8-BOM编码,避免编辑器识别错误。

内容的提问来源于stack exchange,提问作者Alexander Ptak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:24:04