当我在 R 中导入 Stata 数据集时(使用foreign
包),导入有时包含无效字符UTF-8。这本身就已经够令人不快的了,但是当我尝试将对象转换为JSON(使用rjson
包裹)。
如何识别字符串中无效的 UTF-8 字符并在之后将其删除?
另一种解决方案使用iconv
和它的论点sub
: 字符串。如果不是 NA(这里我将其设置为 ''),则用于替换输入中的任何不可转换字节。
x <- "fa\xE7ile"
Encoding(x) <- "UTF-8"
iconv(x, "UTF-8", "UTF-8",sub='') ## replace any non UTF-8 by ''
"faile"
这里注意,如果我们选择正确的编码:
x <- "fa\xE7ile"
Encoding(x) <- "latin1"
xx <- iconv(x, "latin1", "UTF-8",sub='')
facile
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)