我正在尝试打印ascii或扩展的ascii字符。使用此代码:
print '\xff'.decode('latin-1')
它将打印ascii#255,但现在我想输入使用十进制数字,如下所示:
num=255
myhex=hex(num)
print myhex.decode('latin-1')
它不起作用因为myhex是'0xff',所以我需要转换为'\ xff'。用'\ x'替换'0x'给我错误。
myhex.replace('0x','\x')
会给我错误: ValueError:invalid \ x escape
如何解决问题?谁有人可以帮忙?我想要打印char的目标 - > ÿ在终端/控制台。
答案 0 :(得分:3)
你要搜索的是
chr(255)
在python2中,它为您提供二进制值为255的字符。如果您将其打印到使用UTF8的终端,它将显示为?
(或类似),因为终端不知道该怎么做要将其转换为它的unicode代码点,您可以decode
:
chr(255).decode('latin1')
在python3中,chr(255)
已经为您提供了unicode字符'LATIN SMALL LETTER Y WITH DIAERESIS'
。
你也可以在python2中使用
做同样的事情unichr(255)
答案 1 :(得分:1)
>>> print chr(255).decode("latin-1")
ÿ