从十进制数的32到255,ascii是可打印字符,我想将它们写入文件c:/asciitest
。
for(i in 32:255){
rawToChar(as.raw(i))->x;
cat("the ",i," ",x,"\n");
#you can try in R console with `cat("the ",i," ,x,"\n");`
}
为什么我只得到其中的一部分?包含?
字符的行是:
32,34,127,表格129到255,我怎样才能使它们可读?
答案 0 :(得分:2)
those and more between 32 and 127 are non-printable:
从128到255你引入了第二个字节来描述这个字符。这与您的字符编码设置冲突。只有0到127的ANSI部分与UTF-N兼容。
此外,您可能必须在写入控制台和默认编码的文件或选项(encoding =“...”)时调整fileEncoding-attribute。否则任何编码长于单个字节(ANSI)的字符都可能被错误地解释。