是否有一个函数可以将十六进制字符串转换为R?
中的文本例如:
我已将十六进制字符串1271763355662E324375203137
转换为qv3Uf.2Cu 17
。
有人在R中知道一个好的解决方案吗?
答案 0 :(得分:10)
这是一种方式:
s <- '1271763355662E324375203137'
h <- sapply(seq(1, nchar(s), by=2), function(x) substr(s, x, x+1))
rawToChar(as.raw(strtoi(h, 16L)))
## [1] "\022qv3Uf.2Cu 17"
如果您愿意,可以按以下方式sub
输出不可打印的字符:
gsub('[^[:print:]]+', '', rawToChar(as.raw(strtoi(h, 16L))))
## [1] "qv3Uf.2Cu 17"
答案 1 :(得分:0)
只需添加到@jbaums答案或对其进行简化
library(wkb)
hex_string <- '231458716E234987'
hex_raw <- wkb::hex2raw(hex_string)
text <- rawToChar(as.raw(strtoi(hex_raw, 16L)))