使用Python将Unicode字符串转换为十六进制转义序列

2024-05-16 07:09:08 发布

您现在位置:Python中文网/ 问答频道 /正文

例如:

>>> u = u'€€€'
>>> s = u.encode('utf8')
>>> s
'\xe2\x82\xac\xe2\x82\xac\xe2\x82\xac'
>>> print s
€€€

但我想弄到绳子:

^{pr2}$

正如URL有时需要的那样。在

目前我正在逐字节地执行,如:

>>> "%0X" % ord(u.encode('utf8')[0])
'E2'

有没有一种更简单/更优雅的方法?在


Tags: 方法urlutf8encodexe2printx82绳子
2条回答

查看urllib模块http://docs.python.org/2/library/urllib.html#urllib.quote中的引号函数

>>> import urllib
>>> u = u'€€€'
>>> s = u.encode('utf-8')
>>> print urllib.quote(s)
%E2%82%AC%E2%82%AC%E2%82%AC

您可以尝试使用urllib2模块。在

import urllib2
s = '\xe2\x82\xac\xe2\x82\xac\xe2\x82\xac'
urllib2.quote(s)

输出:

^{pr2}$

相关问题 更多 >