当读取一个文本,我读到这些文字,在打印时安慰它输出空白或:什么是 xHEX字符,并为他们提供了一张桌子?
['\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
看一看[编码](http://www.cs.tut.fi/~jkorpela/chars/index.html) – rene
有你甚至试图自己做一些研究?一个简单的谷歌任何这些字符会告诉你他们是'unicode',然后它只是一个搜索“unicode转换图表” –
当我尝试打印它为'unicode',它给出''utf8'编解码器无法解码位置0处的字节0x80 ... ... – alvas