4

我正在尝试将特殊字符转换为 R 中的 ASCII。我尝试在这个问题中使用 Hadley 的建议:

stringi::stri_trans_general('Jos\xe9', 'latin-ascii')

但我得到了“乔斯”。我正在使用 stringi v1.1.1。

我正在运行 Mac。我正在运行 Windows 机器的朋友似乎得到了“何塞”的预期结果。

知道发生了什么吗?

4

1 回答 1

9

Windows 上的默认编码不同于其他操作系统上的典型默认编码 (UTF-8)。x ='Jos\xe9'在 Latin1 中表示某些东西,但在 UTF-8 中不是。因此,在 Linux 或 OS X 上,您需要告诉 R 编码是什么:

x ='Jos\xe9'
Encoding(x) <- 'latin1'
stri_trans_general(x, 'Latin-ASCII')
于 2016-06-20T20:58:44.127 回答