我正在尝试构建一种在twitter中查找表情符号的方法,并将它们与unicode表中可以找到的unicode表联系起来,但我发现很难识别它们,因为我认为编码问题或仅仅是我对它的误解.这个话题.简而言之,我所做的是从http://www.unicode.org/emoji/charts/full-emoji-list.html中的表格中构建一个表情符号"库",其中包含标题和代码点(代码表情符号.我在R里用图书馆rvest取消了这个.
问题出现在我用推特中的twitteR API从twitter获取信息时.因为表情符号的代码看起来并不像这个表中的那些.
让我们举一个100(100点)红色图标表情符号的例子.这是前链接表中的数字1468,其代码点代码为:
U+1F4AF
Run Code Online (Sandbox Code Playgroud)
现在,当我从twitter中获取它时,首先它在状态类中显示为这样,API已内置以使用推文.
\xed??\xed??
Run Code Online (Sandbox Code Playgroud)
然后,一旦我将其转换为数据帧,我也使用来自twitter API的内置函数.例如:
tweet$toDataFrame()
Run Code Online (Sandbox Code Playgroud)
表情符号变为:
<ed><U+00A0><U+00BD><ed><U+00B2><U+00AF>
Run Code Online (Sandbox Code Playgroud)
我尝试使用R中的函数iconv将其转换为以下代码:
iconv(tweet$text, from="UTF-8", to="ASCII", "byte)
Run Code Online (Sandbox Code Playgroud)
我只设法使它看起来像这样:
<ed><a0><bd><ed><b2><af>
Run Code Online (Sandbox Code Playgroud)
因此,结束并在测试结束时,我得到以下结果:
<ed><a0><bd><ed><b2><af>
<ed><U+00A0><U+00BD><ed><U+00B2><U+00AF>
\xed??\xed??
Run Code Online (Sandbox Code Playgroud)
其中没有一个看起来像表格指定的代码点:
U+1F4AF
Run Code Online (Sandbox Code Playgroud)
有没有可能在两个字符串之间进行转换?我错过了什么?为什么Twitter会为emojis返回此信息?