如何解决在R中解码西里尔字母
我想在R:обезпечен
中解码此字符串。所需的输出应为:обезпечен
此site建议源编码为UTF-8
,应将其转码为Windows-1251
。所以我尝试没有成功:
> word <- "обезпечен"
> iconv(word,from = "UTF-8",to = "Windows-1251")
[1] "обезпечен"
解决方法
这些步骤似乎可以解决问题
word <- "обезпечен"
xx <- iconv(word,from="UTF-8",to="cp1251")
Encoding(xx) <- "UTF-8"
xx
# [1] "обезпечен"
target <- "обезпечен"
xx == target
# [1] TRUE
所以看来发生了什么事,在某一时刻,构成UTF-8 target
值的字节被误解为cp1251编码,并且某个地方运行了一个进程,基于cp1251将字节转换为UTF-8 -> UTF-8映射规则。但是,当您对不是真正由cp1251编码的数据运行此命令时,会得到奇怪的值。
iconv(target,from="cp1251",to="UTF-8")
# "обезпечен"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。