把requestQuery中的二进制码转换为中文的方法

        最近在使用Tornado的UIModule时遇到一个问题,就是内置的类中不提供解析相关中文参数
%E5%AF%86
的方法,我在网上查了一下,解决方法居然需要使用requests的第三方库,于是我查了一下RequestHandler中想对应的方法get query argument()方法,发现了在parse.py 中有一段这样的代码:
global _hextobyte
    if _hextobyte is None:
        _hextobyte = {(a + b).encode(): bytes([int(a + b, 16)])
                      for a in _hexdig for b in _hexdig}
    for item in bits[1:]:
        try:
            append(_hextobyte[item[:2]])
            append(item[2:])
        except KeyError:
            append(b'%')
            append(item)
    return b''.join(res)

于是我就自己写了一个工具函数用来将返回的参数转换为中文

def decode_para(str):
    bs = str.split('%')[1:]
    print(bs)
    result = b''
    for b in bs:
        result+=bytes([int(b,16)])
    return result.decode()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值