3
例如,一个十六进制转义序列:转换的Unicode字符串使用Python
>>> 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( 'utf-8')编码( '十六进制') '得到十六进制,但你需要做更多的工作来插入想要的''%''。 – monkut