R中的西里尔编码输出
编码对我来说总是一件痛苦的事,而且用俄语文本写文件也是不可能的。 我该怎么办R中的西里尔编码输出,r,encoding,output,R,Encoding,Output,编码对我来说总是一件痛苦的事,而且用俄语文本写文件也是不可能的。 我该怎么办 >test = c("привет","пока") >test [1] "\320\277\321\200\320\270\320\262\320\265\321\202" "\320\277\320\276\320\272\320\260" >Encoding(test) [1] "unknown" "unknown" > f = file("test.txt", encod
>test = c("привет","пока")
>test
[1] "\320\277\321\200\320\270\320\262\320\265\321\202" "\320\277\320\276\320\272\320\260"
>Encoding(test)
[1] "unknown" "unknown"
> f = file("test.txt", encoding = "UTF-8")
> write(t,f)
Error in cat(list(...), file, sep, fill, labels, append) :
argument 1 (type 'closure') cannot be handled by 'cat'
> Encoding(test) = "UTF-8"
> test
[1] "<U+043F><U+0440><U+0438><U+0432><U+0435><U+0442>" "<U+043F><U+043E><U+043A><U+0430>"
> write(t,f)
Error in cat(list(...), file, sep, fill, labels, append) :
argument 1 (type 'closure') cannot be handled by 'cat'
>test=c(“Паааа”、“Пааааааа”)
>试验
[1] "\320\277\321\200\320\270\320\262\320\265\321\202" "\320\277\320\276\320\272\320\260"
>编码(测试)
[1] “未知”“未知”
>f=文件(“test.txt”,encoding=“UTF-8”)
>写入(t,f)
cat(列表(…)、文件、sep、填充、标签、附加)中出错:
参数1(类型“closure”)不能由“cat”处理
>编码(测试)=“UTF-8”
>试验
[1] "" ""
>写入(t,f)
cat(列表(…)、文件、sep、填充、标签、附加)中出错:
参数1(类型“closure”)不能由“cat”处理
我使用R-studio 0.97.312,Mac OS 10.7.5,如果您只需访问Encoding()的帮助页面,就可以找到本机函数enc2native(x),这将实现如中所示的技巧
test = enc2utf8(c("привет","пока"))
我知道你对编码问题的痛苦:( 希望这将帮助您:
> Sys.setlocale(,"ru_RU")
[1] "ru_RU/ru_RU/ru_RU/C/ru_RU/C"
> test = c("привет","пока")
> write(test, file="test.txt")
您甚至可以在这之后使用西里尔变量Sys.setlocale(,“ru_ru”)
:
>最小值
[1] -2.54578
如果你做了
Sys.setlocale(“LCчALL”,“RuчRu”)
并尝试一下,会发生什么?+1因为我感觉到你对本地化字符的痛苦。我刚刚复制并粘贴到我的笔记本电脑上,它似乎工作得很好。。。这是否受您操作系统的区域设置限制?请向我们提供Sys.getlocale()
的输出,我可以使用以下Sys.getlocale()
输出:“LC\u COLLATE=Dutch\u nerslands.1252;LC\u CTYPE=Dutch\u nerslands.1252;LC\u MONETARY=Dutch\u nerslands.1252;LC\u NUMERIC=C;LC\u TIME=Dutch\u nerslands.1252”
编码的输出是UTF-8
,与预期一致。您能提供更多说明吗
> привет <- rnorm(100)
> min(привет)
[1] -2.54578