文本编码 - Windows 没问题
Text encoding - fine on Windows, not nix
我在 Win 和 nix 机器(分别为 ISO-8859-1 和 UTF-8)的默认编码之间加载数据时遇到问题。
示例 - Windows 首先:
library(stringi)
dummy <- as.character("BØÅS")
write(dummy, "saveFile")
getData <- read.table("saveFile", header=F, sep="\t", quote="\"")
reEncode=function(x) {
stri_trans_general(x, "Latin-ASCII")
}
enCoded <- apply(getData, 1, reEncode)
result <- as.data.frame(enCoded)
在 Windows 中,上面根据需要生成 "BOAS"。
现在转到 nix 并使用保存的文件:
getData <- read.table("saveFile", header=F, sep="\t", quote="\"")
reEncode=function(x) {
stri_trans_general(x, "Latin-ASCII")
}
enCoded <- apply(getData, 1, reEncode)
result <- as.data.frame(enCoded)
Nix 给出 "B??S".
我认为这是一个 read.table 编码问题,但无法弄清楚如何让 nix 使用 ISO-8859-1。有什么建议吗?
read.table("saveFile", header=F, sep="\t", quote="\"",encoding="latin1")
我在 Win 和 nix 机器(分别为 ISO-8859-1 和 UTF-8)的默认编码之间加载数据时遇到问题。
示例 - Windows 首先:
library(stringi)
dummy <- as.character("BØÅS")
write(dummy, "saveFile")
getData <- read.table("saveFile", header=F, sep="\t", quote="\"")
reEncode=function(x) {
stri_trans_general(x, "Latin-ASCII")
}
enCoded <- apply(getData, 1, reEncode)
result <- as.data.frame(enCoded)
在 Windows 中,上面根据需要生成 "BOAS"。
现在转到 nix 并使用保存的文件:
getData <- read.table("saveFile", header=F, sep="\t", quote="\"")
reEncode=function(x) {
stri_trans_general(x, "Latin-ASCII")
}
enCoded <- apply(getData, 1, reEncode)
result <- as.data.frame(enCoded)
Nix 给出 "B??S".
我认为这是一个 read.table 编码问题,但无法弄清楚如何让 nix 使用 ISO-8859-1。有什么建议吗?
read.table("saveFile", header=F, sep="\t", quote="\"",encoding="latin1")