在R语言中将UTF-16十进制整数向量转UTF-8字符串向量
解决R语言中将UTF-16十进制编码整数转换为UTF-8字符串向量的问题
嗨,这个问题用R内置的函数就能轻松搞定!你需要的转换函数是intToUtf8(),它专门用来把整数形式的Unicode码点转换成对应的UTF-8字符串。
具体实现代码
x <- c(75, 252, 110) # 设置multiple = TRUE,让每个整数对应一个独立的字符串元素 y <- intToUtf8(x, multiple = TRUE) y
执行这段代码后,你会得到期望的输出:
[1] "K" "ü" "n"
补充说明
- 关键参数
multiple = TRUE:如果不设置这个参数,函数会把所有整数拼接成一个单一字符串;开启后则返回与输入整数向量长度一致的字符串向量,完美匹配你的需求。 - 对于你示例中属于UTF-16 BMP(基本多文种平面)范围内的码点,直接用
intToUtf8()就完全没问题。如果后续遇到超出BMP的UTF-16代理对(比如某些复杂emoji或罕见字符),需要先把代理对转换为完整的Unicode码点再进行转换,但这种情况在日常场景里相对少见。
内容的提问来源于stack exchange,提问作者Stefano
相关产品推荐
相关产品推荐

