Woz*_*oza 4 twitter encoding r utf-8 emoji
我正在尝试对 R 进行表情符号分析。我在有表情符号的地方存储了一些推文。
这是我要分析的推文之一:
> tweetn2
[1] "Programme du week-end: \xed\xa0\xbd\xed\xb2\x83\xed\xa0\xbc \xed\xbe\xb6\xed\xa0\xbc
\xed\xbd\xbb\xed\xa0\xbc\xed\xbd\xbb\xed\xa0\xbc \xed\xbd\xbb\xed\xa0\xbc\xed\xbd\xbb"
Run Code Online (Sandbox Code Playgroud)
确保我有“UTF-8”:
> Encoding(tweetn2)
[1] "UTF-8
Run Code Online (Sandbox Code Playgroud)
" 现在当我试图识别某些字符时,它无法正常工作
> grepl("\\xed",tweetn2)
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
或者
> grepl("xed",tweetn2)
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
但似乎表情符号“\xed\xa0\xbd”不是“UTF-8”编码,因为我在编写时收到一条错误消息:
> str(tweetn2)
Error in str.default(tweetn2) : invalid multibyte string, element 1
Run Code Online (Sandbox Code Playgroud)
我通过使用 iconv() 函数和“ASCII”编码找到了一种解决方案:http :
//www.r-bloggers.com/emoticons-decoder-for-social-media-sentiment-analysis-in-r/
但我想继续使用“UTF-8”进行分析,因为它适用于法语特殊字母(à、é、è、ê、ë、û 等。)
那么你知道我怎样才能超越它吗?
谢谢
如所示,该字符串是无效的 UTF-8。您拥有的是使用 UTF-8 编码的 UTF-16。所以\xED\xA0\xBD是高代理U + D83D, -并且\xED\xB2\x83是低代理U + DC83
如果您应用神奇的High,Low -> Codepoint 公式,您将得到实际的代码点:
(0xD83D - 0xD800) * 0x400 + 0xDC83 - 0xDC00 + 0x10000 = 0x1F483
Run Code Online (Sandbox Code Playgroud)
你会看到这是舞者表情符号。不幸的是,我没有给你建议,因为我对 R 不太熟悉。但我可以说你肯定想让自己处于对这些数据进行双重编码的位置!希望能帮助您朝着正确的方向前进。
| 归档时间: |
|
| 查看次数: |
4321 次 |
| 最近记录: |