Начиная с недели назад я был милым летним ученым по изучению данных о детях, который ничего не знал о кодировках символов.
Я пытаюсь запечатлеть эмодзи в тексте (источники взяты из разных мест) и разбить каждый эмодзи наодна каноническая форма, в которой я могу провести анализ.
Одни и те же эмодзи могут появляться в нескольких формах.
Например (а это только кодировки, которые я нашел в моих данных):
\U01F9E8
<U+1F9E8>
🧨
<f0><9f><a7><a8>
все относятся к одному и тому же смайлику.
До сих пор мне не удалось найти какую-либо функцию R, пакет или что-либо другое, что позволило бы мне свободно взаимообращаться между этими кодировками.
utf8ToInt () может обрабатывать некоторые, но не другие:
> utf8ToInt("U+1F9E8")
[1] 85 43 49 70 57 69 56
> utf8ToInt("\U+1F9E8")
Error: '\U' used without hex digits in character string starting ""\U"
> utf8ToInt("\\U+1F9E8")
[1] 92 85 43 49 70 57 69 56
> utf8ToInt("U01F9E8")
[1] 85 48 49 70 57 69 56
> utf8ToInt("\\U01F9E8")
[1] 92 85 48 49 70 57 69 56
> utf8ToInt("\U01F9E8")
[1] 129512
Только последний ввод дает правильный ответ.Теоретически можно использовать регулярные выражения для преобразования этих похожих примеров в окончательный, но присутствие escape-символа '\' действительно мешает мне в этом попытаться.
Я застрял на этомв течение последних нескольких дней, и это действительно влияет на мою производительность. Есть ли уловка, функция или пакет, который я могу использовать в R, который помог бы мне преобразовать коды для этих смайликов?