2015-02-10 77 views
0

我试图从不是用拉丁字母(标头有# -*- coding: utf-8 -*-设置)的文字中删除最后一个字符与[:-1]并删除字符被替换为?在终端输出。有什么建议么?删除python输出中的问号

代码例如:在终端

სკამ? 
+0

的可能重复[为什么我的终端输出的Unicode字符正确?(http://stackoverflow.com/questions/12649896/why-doesnt-my-terminal-output-unicode-characters-properly ) – max 2015-02-10 21:01:10

+0

没有任何代码示例说明你的问题,这是不是真的可以负责。 – 2015-02-10 21:04:27

+2

@max:不,我认为OP有一个* bytestring *并从多字节字符中删除了一个字节。这会使bytestring * invalid *,不仅因为编码冲突而在终端上不可打印。 – 2015-02-10 21:05:29

回答

1

Stop using bytestrings

# -*- coding: utf-8 -*- 

word = "სკამი"[:-1] 
print word 

输出。

print "სკამი".decode('utf-8')[:-1] 
print u"სკამი"[:-1] 
+0

谢谢,完全忘了你的“字符串”。 – ikechi 2015-02-10 21:36:41