编码对我来说总是很痛苦,再次用俄语文本写文件是不可能的。 我该怎么办?
>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'
我使用R-studio 0.97.312,Mac OS 10.7.5,
答案 0 :(得分:1)
如果你只是访问Encoding()的帮助页面,你会发现原生函数enc2native(x),这就像在
中那样做test = enc2utf8(c("привет","пока"))
答案 1 :(得分:1)
我知道你编码麻烦的痛苦:( 希望这会对你有所帮助:
> 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")
之后使用西里尔变量:
> привет <- rnorm(100)
> min(привет)
[1] -2.54578
Такчтоудачи! :)