在R语言中从十六进制转换为Unicode

ycl3bljg  于 2023-01-06  发布在  R语言
关注(0)|答案(2)|浏览(319)

我想用R语言从连续的十六进制数字创建Unicode。
例如,\u005C可以转换为字符,paste0 ("\u", "005C")不能转换为字符。
因此,无法创建以下函数。

hex.chr <- function(hex){paste0("\u", hex)}
hex.chr("005C")

例如,在上面的例子中,如何创建一个只通过输入005C就可以转换为Unicode的函数?

kxeu7u2r

kxeu7u2r1#

您可以使用intToUtf8paste0x来识别为 hex

hex.chr <- function(hex) {intToUtf8(paste0("0x", hex))}
hex.chr("005C")
#[1] "\\"
oiopk7p5

oiopk7p52#

x <- "\u005C"
y <- "005C"

eq_char_from_s <- function(s){
  rawToChar(as.raw(strtoi(y, 16L)))
}

z <- eq_char_from_s(y)

x == z
#> [1] TRUE
print(z)
#> [1] "\\"

reprex package(v2.0.1)于2023年1月4日创建

相关问题