我正在读取从某个库中检索到的pickle文件。在 unicode 字符串中存储了很多utf-8字符。例如:
u'\xc4\x91' #đ
u'\xc3\xad' #í
u'\xc3\u017d' #�\u017d
...
我可以使用raw_unicode_escape
对大部分内容进行编码和显示
但是,与\u
一样的所有字符都会像上面的第三个字符一样无法正确显示:�\u017d
。我该如何解决这个问题?
修改
上面的每个字符串都应该是一个字符
编辑2:我用来读取文件的代码
model_dir = '../../projects/python/test/model-5'
with open(model_dir, 'rb') as f:
model = pickle.load(f)
seq = model.sequitur
rightI = seq.rightInventory
print repr(rightI.list)
结果包含与上述示例类似的内容
答案 0 :(得分:0)
尝试这个
header("HTTP/1.1 200 OK");
答案 1 :(得分:0)
你有一个unicode转义字符串。如果您打印它,并且您的控制台的字体和编码支持它,您将看到以下内容:
>>> sys.stdout.encoding
'UTF-8'
>>> sys.getfilesystemencoding()
'UTF-8'
>>> i
[u'\xc4\x91', u'\xc3\xad', u'\xc3\u017d']
>>> for q in i:
... print(q)
...
Ä
Ã
ÃŽ
为确保正确渲染(打印在屏幕上),您需要确保:
如果您看到�,则表示为应用程序声明的编码不支持该特定代码点,因此系统不知道如何呈现它。