2

Python で次の変換を行う方法は?

"杭州" to "%BA%BC%D6%DD"
"大连" to "%B4%F3%C1%AC"
4

2 に答える 2

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'))
杭州
于 2011-06-26T01:23:40.100 に答える
3

詳細情報を提供していただく必要があります。

def encode(s):
    if s == "杭州":
        return "%BA%BC%D6%DD"
    if s == "大连":
        return "%B4%F3%C1%AC"
    raise ValueError

1 つには、使用しているエンコーディングを教えていただく必要があります。

import urllib.parse
def encode(s):
    return urllib.parse.quote(s.encode('gbk'))
于 2011-06-26T01:24:09.663 に答える