例如:

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

但我想得到字符串:
"%E2%82%AC%E2%82%AC%E2%82%AC"

有时需要 URL。

目前我正在逐个字节地进行,如下所示:
>>> "%0X" % ord(u.encode('utf8')[0])
'E2'

有没有更简单/更优雅的方法来做到这一点?

最佳答案

您可以尝试使用 urllib2 模块。

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

输出:
'%E2%82%AC%E2%82%AC%E2%82%AC'

关于python - 使用 Python 将 Unicode 字符串转换为十六进制转义序列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21225331/

10-10 02:43