为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 R 中的转义十六进制数转换为 html 格式的十六进制数

如何将 R 中的转义十六进制数转换为 html 格式的十六进制数

斯蒂芬大帝 2023-09-11 16:32:13
例如: 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;"


查看完整回答
反对 回复 2023-09-11
  • 1 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信