如何在Python中进行以下转换?
"杭州" to "%BA%BC%D6%DD"
"大连" to "%B4%F3%C1%AC"
答案 0 :(得分:3)
将u'杭州'
转换为'%BA%BC%D6%DD'
:
In [24]: ''.join('%{0:X}'.format(ord(c)) for c in u"杭州".encode('gbk'))
Out[24]: '%BA%BC%D6%DD'
In [25]: ''.join('%{0:X}'.format(ord(c)) for c in u"大连".encode('gbk'))
Out[25]: '%B4%F3%C1%AC'
将'%BA%BC%D6%DD'
转换为u'杭州'
:
In [54]: import binascii
In [55]: print(binascii.unhexlify(''.join('%BA%BC%D6%DD'.split('%'))).decode('gbk'))
杭州
答案 1 :(得分:3)
您需要向我们提供更多信息。
def encode(s):
if s == "杭州":
return "%BA%BC%D6%DD"
if s == "大连":
return "%B4%F3%C1%AC"
raise ValueError
你需要告诉我们你正在使用的编码。
import urllib.parse
def encode(s):
return urllib.parse.quote(s.encode('gbk'))