在读取文本文件时,我读取这些字符,当打印到控制台时,它输出空白或 �:
['\x80', '\xc3', '\x94', '\x99', '\x98','\x9d', '\x9c', '\xa9', '\xa6', '\xe2']
这些\xHEX 字符是什么?是否有指向表格的链接来查找这些字符?
已解决:
这不是一个 ascii
文本文件,它是一个 unicode utf8
文件。这就是为什么我无法正确识别字符。
对于 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
最佳答案
这里是所有 unicode 字符的链接:
http://en.wikipedia.org/wiki/List_of_Unicode_characters
此外,如果您使用的是 Eclipse,请确保您的项目“文本文件编码”设置为 UTF-8。
项目->属性->资源->文本文件编码。
我对西里尔字母字符也有类似的问题:)
关于java - 什么是\xHEX 字符?是否有它们的表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17783070/