读取文本文件时,我会读取这些字符,打印到控制台时会输出空格或�:
['\x80', '\xc3', '\x94', '\x99', '\x98','\x9d', '\x9c', '\xa9', '\xa6', '\xe2']
这些 \xHEX 字符是什么?是否有指向表格的链接来查找这些字符?
解决了:
它不是ascii
文本文件,而是 unicodeutf8
文件。这就是为什么我无法得到正确的字符。
对于 Java:
import java.io.*
File infile = new File('\home\foo\bar.txt');
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(infile), "UTF8"));
while ((str = in.readLine()) != null) {
System.out.println(str);
}
如果system.out.println
抱怨尝试:
PrintStream out = new PrintStream(System.out, true, "UTF-8");
out.println(str);
对于 Python,简单地说:
import codecs
infile = '\home\foo\bar.txt'
reader = codecs.open(infile,'r','urf8')
for l in reader:
print ln