例如: R 有一个表情符号转义为“\U0001f923”,我想将其传递到一个 html 文件,其中其格式可用作字符: & # x 1 f 9 2 3 ; (🤣)。如何将 R 中的转义十六进制数转换为 html 格式的十六进制数?
1 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
您可以组合函数utf8ToInt和as.hexmode,然后将转义字符粘贴到:
as.html <- function(x) paste0("&x", as.hexmode(utf8ToInt(x)), ";")
as.html("\U0001f923")
#> [1] "&x1f923;"
您可以使用它来替换多字节字符,如下所示:
replace_multibytes <- function(x)
{
as.html <- function(x) paste0("&x", as.hexmode(utf8ToInt(x)), ";")
char_list <- as.list(unlist(strsplit(x, "")))
x <- sapply(char_list, function(y) if(length(charToRaw(y)) > 1) as.html(y) else y)
paste0(x, collapse = "")
}
所以现在你可以做
replace_multibytes("The following need replaced: \U0001f923 \U0001f924")
#> [1] "The following need replaced: &x1f923; &x1f924;"
- 1 回答
- 0 关注
- 77 浏览
添加回答
举报
0/150
提交
取消