Ale*_*kov 2 python unicode python-2.7
我想将unicode字符串转换为十六进制表示.例如,u'\u041a\u0418\u0421\u0410'应该转换为"\xD0\x9A\xD0\x98\xD0\xA1\xD0\x90".我尝试了下面的代码(python 2.7):
unicode_username.encode("utf-8").encode("hex")
Run Code Online (Sandbox Code Playgroud)
但是,我得到一个字符串:
'd09ad098d0a1d090'
Run Code Online (Sandbox Code Playgroud)
有\xD0\x9A\xD0\x98\xD0\xA1\xD0\x90什么建议我怎么办?
执行此操作时string.encode('utf-8'),它将更改为十六进制表示法.
但是如果你打印它,你将获得原始的unicode字符串.
如果你想要十六进制表示法,你可以通过repr()函数得到它:
>>> print u'\u041a\u0418\u0421\u0410'.encode('utf-8')
????
>>> print repr(u'\u041a\u0418\u0421\u0410'.encode('utf-8'))
'\xd0\x9a\xd0\x98\xd0\xa1\xd0\x90'
Run Code Online (Sandbox Code Playgroud)