1
如何在R中创建一个类似“\ u0531”的UTF-8字符串,但将代码“0531”作为变量?UTF-8:通过字符代码编号创建字符(字符串)
我有一个坏字符串(由“UTF-8代码在标签”),我想动态变成一个很好的字符串(正确的UTF-8字符串)。
badString <- "<U+0531><U+0067>"
goodString <- "Աg" # how can I generate that by a function?
turnBadStringToGoodString<- function (myString){
newString <- gsub("<U\\+([0-9]{4})>","\\u\\1",myString)
newString2 <- parse(text = paste0("'", newString, "'"))[[1]]
return (
newString2
)
}
turnBadStringToGoodString (badString)
# returns an expression. What to do next?
请注意这期望的结果可以通过手动输入
"\u0531\u0067"
但怎么可能用一个函数来完成实现?谢谢你的想法。
而且相关:Converting a \u escaped Unicode string to ASCII
看起来很乍看。将执行并确认它是否按预期工作。 :) – nilsole
原来我的RStudio有问题,以正确的方式查看()'badString'。必须设置'Sys.setlocale(locale =“Russian”)'用'read.csv()'获得正确的输出。 HTTP:// stackoverflow.com /一个/ 34256414/2381339' – nilsole