将unicode转换为R中的可读字符

时间:2018-04-09 18:53:58

标签: r unicode utf-8

我有一个.csv,其中编码在使用Encoding(data)时返回“unknown”和“UTF-8”。文字如下:

<U+1042><U+1040><U+1042><U+1040> <U+1019><U+103D><U+102C>\n\n<U+1010><U+102D><U+102F><U+1004><U+1039><U+1038><U+103B><U+1015><U+100A><U+1039><U+1000><U+102D><U+102F><U+101C><U+1032> <U+1000><U+102C><U+1000><U+103C>

我想把它变成一种可读格式,在这种情况下是缅甸语,所以看起来有点像这样:

၂၀၂၀မွာတိုင္းျ

奇怪的是,这个数据中的文本曾经在RStudio中可读,但在某些时候 - 我不知道什么时候 - 这个改变了,我现在只能看到Unicode字符。我试过这些solutions没有成功。

1 个答案:

答案 0 :(得分:2)

你可以这样做:

library(stringi)

string <- "<U+1042><U+1040><U+1042><U+1040> <U+1019><U+103D><U+102C>\n\n<U+1010><U+102D><U+102F><U+1004><U+1039><U+1038><U+103B><U+1015><U+100A><U+1039><U+1000><U+102D><U+102F><U+101C><U+1032> <U+1000><U+102C><U+1000><U+103C>" 

cat(stri_unescape_unicode(gsub("<U\\+(....)>", "\\\\u\\1", string)))

结果是:

2020မွာ

တိုင္းျပည္ကိုလဲကာကြ