例如:
>>> 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'
有没有更简单/更优雅的方法来做到这一点?
u.encode('utf8').encode('hex')
来获取十六进制,但是你需要做一些额外的工作来插入所需的"%
"。 - monkut