我正在使用R脚本来创建和附加文件。但我需要以ANSI编码保存文件,即使某些字符是Unicode格式。如何确保ANSI编码?
initWithCoder:
答案 0 :(得分:1)
编码可能很棘手,因为你需要在输入时检测你的编码,然后你需要在写入之前转换它。这听起来像您的输入文件input.ttl
被编码为UTF-8,您需要将其转换为ASCII。这意味着您可能会丢失一些不可翻译的字符,因为在128位较低范围之外可能没有从UTF-8字符到ASCII的映射。 (在此范围内,UTF-8到ASCII的映射是相同的。)
所以这是如何做到的。您必须相应地修改代码以进行测试,因为您没有提供可重现示例所需的元素。
确保您的输入文件实际上是UTF-8,并且您正在将其作为UTF-8读取。您可以通过将encoding = "UTF-8"
添加到代码的第三行作为readLines()
的参数来执行此操作。请注意,您可能无法在Windows平台上将系统区域设置设置为UTF-8,但该文件仍将被读取为UTF-8,即使扩展字符可能无法正确显示。
使用iconv()
将文本从UTF-8转换为ASCII。 iconv()
被矢量化,因此它适用于整个文本集。您可以使用
text3 <- iconv(text3, "UTF-8", "ASCII", sub = "")
请注意,如果遇到任何不可翻译的字符,sub = ""
参数会阻止将整个字符元素转换为NA
的默认行为。 (这些包括看似无辜但实际上微妙的邪恶事物,例如&#34;聪明的引语&#34;。)
现在,当您使用cat()
编写文件时,输出应为ASCII。