如何在 R Studio Windows 中查看表情符号代码点的图形表示?
How to see the graphical representation of emoji codepoints in R Studio Windows?
我在数据框中有一列,其中包含与表情符号对应的代码点。
它们看起来像这样:
1F1E8
我正在使用 remoji 库,但是正如您所见,我的代码点前面没有 \U,据我所知,这是该库的方法所必需的。
示例:
#This works
message (sub_emoji ("This is silly \U1f626"))
#this does not work
message (sub_emoji ("This is silly 1f626"))
我最多只能将代码点转换为 \U1f626
,但它也不起作用。
提前致谢
我尝试的解决方案是在代码点的开头粘贴字符串 "\U"
,但由于 \
是一个转义字符,我无法做到这一点。但是有一些 "tricks" 可以做到:
我将所有代码点转换为以下结构(8 个十六进制数字):
\U000xxxxx
(如果原始代码点中有 5 个十六进制数字,则为 000)
\U0000xxxx
(如果原始代码点中有 4 个十六进制数字则为 0000)
我没有深入研究它们的含义("fill" 为 0),但事实是它们的工作方式相同,据我所试:
message(sub_emoji("This is silly \U0001f626"))
This is silly
和
message(sub_emoji("This is silly \U1f626"))
#This is silly
我 "filled" 与 0 因为我使用函数 stri_unescape_unicode()
取消转义代码点 \Uxxxxxxxx
并获得所需的结果 \Uxxxxxxxx
(一个 \
) 将其传递给 sub_emoji()
而这个函数,stri_unescape_unicode()
,如果代码点有8个十六进制数字,只给出这个结果(一个\
),我没有研究为什么,我只是在闲逛时才注意到这一点。我还注意到,如果 u
是小写的,它会产生另一种效果。
例如:
#it does not work
stri_unescape_unicode("\U1F926")
#[1] NA
#Warning message: .....
stri_unescape_unicode("\U1F926\U1F3FB")
#[1] NA
#Warning message: .....
#it works
stri_unescape_unicode("\U0001F926")
#[1] "\U0001f926"
stri_unescape_unicode("\U0001F926\U0001F3FB")
# [1] "\U0001f926\U0001f3fb"
一个完整的例子:
em = stri_unescape_unicode("\U0001f626")
message(sub_emoji(paste("This is silly", em)))
#This is silly
emc = stri_unescape_unicode("\U0001F926\U0001F3FB")
message(sub_emoji(paste("This is silly", emc)))
#This is silly
注意最后这个表情包,肤色和头发颜色不一样,有ZWJ Sequence的效果。
我在数据框中有一列,其中包含与表情符号对应的代码点。 它们看起来像这样:
1F1E8
我正在使用 remoji 库,但是正如您所见,我的代码点前面没有 \U,据我所知,这是该库的方法所必需的。 示例:
#This works
message (sub_emoji ("This is silly \U1f626"))
#this does not work
message (sub_emoji ("This is silly 1f626"))
我最多只能将代码点转换为 \U1f626
,但它也不起作用。
提前致谢
我尝试的解决方案是在代码点的开头粘贴字符串 "\U"
,但由于 \
是一个转义字符,我无法做到这一点。但是有一些 "tricks" 可以做到:
我将所有代码点转换为以下结构(8 个十六进制数字):
\U000xxxxx
(如果原始代码点中有 5 个十六进制数字,则为 000)
\U0000xxxx
(如果原始代码点中有 4 个十六进制数字则为 0000)
我没有深入研究它们的含义("fill" 为 0),但事实是它们的工作方式相同,据我所试:
message(sub_emoji("This is silly \U0001f626"))
This is silly
和
message(sub_emoji("This is silly \U1f626"))
#This is silly
我 "filled" 与 0 因为我使用函数 stri_unescape_unicode()
取消转义代码点 \Uxxxxxxxx
并获得所需的结果 \Uxxxxxxxx
(一个 \
) 将其传递给 sub_emoji()
而这个函数,stri_unescape_unicode()
,如果代码点有8个十六进制数字,只给出这个结果(一个\
),我没有研究为什么,我只是在闲逛时才注意到这一点。我还注意到,如果 u
是小写的,它会产生另一种效果。
例如:
#it does not work
stri_unescape_unicode("\U1F926")
#[1] NA
#Warning message: .....
stri_unescape_unicode("\U1F926\U1F3FB")
#[1] NA
#Warning message: .....
#it works
stri_unescape_unicode("\U0001F926")
#[1] "\U0001f926"
stri_unescape_unicode("\U0001F926\U0001F3FB")
# [1] "\U0001f926\U0001f3fb"
一个完整的例子:
em = stri_unescape_unicode("\U0001f626")
message(sub_emoji(paste("This is silly", em)))
#This is silly
emc = stri_unescape_unicode("\U0001F926\U0001F3FB")
message(sub_emoji(paste("This is silly", emc)))
#This is silly
注意最后这个表情包,肤色和头发颜色不一样,有ZWJ Sequence的效果。