将具有混合编码的字符串向量音译为latin1

时间:2018-03-22 17:48:28

标签: r stringr stringi

我有一些国家名称的向量,例如x

x <- c("c\u00f4te", "côte")

showNonASCII(x)
1: c<c3><b4>te
2: c<f4>te


iconv(x, to="ASCII//TRANSLIT")
[1] "cA?te" "cote" 

Encoding(x)
[1] "UTF-8"  "latin1"

我想统一它们,所以如何使用str_replace进行转换 \ u00f4到ô。 并将x元素转换为latin1?

1 个答案:

答案 0 :(得分:0)

检查向量元素的编码:

stringi::stri_trans_general(x, "latin-ascii")

我得到了一个混合。因此,由于具有固定的&#34;来自&#34;因此无法在整个矢量上调用iconv。编码。

stringi确实提供了一个很好的包装函数,它可以适应不同的&#34;来自&#34;编码和音译到ASCII。

<div ref={(node) => { /* perform imperative operations */ }}></div>