Как преобразовать строку, содержащую ярлык Unicode, в ИСТИННЫЙ символ Unicode в R? - PullRequest
0 голосов
/ 18 июня 2020

У меня эта строка содержит ярлык из определенных c символов представления эмодзи:

x <- "\\U0001F48C"

Как преобразовать его в True Unicode (с использованием конкатенации), эквивалентно:

y <- "\U0001F48C"

cat - удобный инструмент для проверки этого Unicode (по крайней мере, это то, что я знал)

cat(y)

Но я хочу создать некоторую функцию, которая передает определенную последнюю уникальную кодировку, например, в этом case

converter <- function(last_unicode_label="1F48C"){
  #convert as equivalent as y
}

список кодировок можно найти здесь: https://apps.timwhitlock.info/emoji/tables/unicode

1 Ответ

2 голосов
/ 18 июня 2020

Есть разные способы сделать это. Возможно, самый простой - преобразовать шестнадцатеричную часть вашей строки в целое число и использовать intToUtf8 из базы R:

mystr <- c("\\U0001F48C", "\\U0001F48D")
mystr
#> [1] "\\U0001F48C" "\\U0001F48D"

mystr <- unlist(lapply(as.list(gsub("\\\\U", "0x", mystr)), intToUtf8))
mystr
#> [1] "\U0001f48c" "\U0001f48d"

Что, вероятно, лучше всего заменить небольшой служебной функцией:

unescape <- function(x) unlist(lapply(as.list(gsub("\\\\U", "0x", x)), intToUtf8))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...