2017-05-03 36 views
-1

我试图为字符串打印unicode字符。 例如,“{”应打印为“007B”(用前导零)为字符串打印unicode十六进制值

我只能在此刻做的是这样的:

binascii.hexlify(unicode("{")) 
'7b' 

我希望能够给它一个字符串像“测试”,它应打印“0074006500730074”

+0

这有什么错了'hex'内置的功能? –

+0

Unicode函数具有附加'编码'参数。试试这个 –

+0

可能重复[以十六进制字节打印字符串?](http://stackoverflow.com/questions/12214801/print-a-string-as-hex-bytes) –

回答

0

使用字符串格式化:

>>> string = 'test' 
>>> ''.join(["{:04x}".format(ord(c)) for c in string]) 
'0074006500730074' 
>>> 
0

试试这个:

character = ... 

uni_string = hex(ord(character))[2:].zfill(4) 

这得到了Unicode数字,转换为十六进制的LOP掉前两个字符,然后垫串用零的最大长度是4

相关问题