将像 <U+0161> 这样的 utf8 代码点字符串转换为 utf8

use*_*018 3 r utf-8

我有一个文本文件,其中包含某种 Unicode 字符的后备转换(尖括号中的 Unicode 代码点)。所以它包含例如foo<U+017E>bar应该是“foošbar”。R 中是否有一种简单的方法可以将整个文件转换为 UTF8 并转换这些字符?不幸的是,我在 Windows 上找不到支持的 UTF-8 语言环境。

hrb*_*str 5

也许:

library(stringi)
library(magrittr)

"foo<U+0161>bar and cra<U+017E>y" %>% 
  stri_replace_all_regex("<U\\+([[:alnum:]]+)>", "\\\\u$1") %>% 
  stri_unescape_unicode() %>% 
  stri_enc_toutf8()
## [1] "foošbar and cražy"
Run Code Online (Sandbox Code Playgroud)

可能有用(我不需要在 macOS 上进行最后一次转换,但在 Windows 上可能)。