欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 处理unicode编码的tuple\list\dict

程序员文章站 2022-04-28 19:36:58
...

json.loads(s)之后str型全都被转为了unicode编码的,发现没有提供直接转为utf-8的可选参数,用起来有点麻烦,就自己写了一个转的函数,递归调用,支持dict/tuple/list的嵌套,同理可用于递归处理其它问题,欢迎参考和优化:

def unicode_2_utf8(para):
    if type(para) is str:
        return para.encode('utf-8')
    elif type(para) is list:
        for i in range(len(para)):
            para[i] = unicode_2_utf8(para[i])
        return para
    elif type(para) is dict:
        newpara={}
        for (key,value) in para.items():
            key = unicode_2_utf8(key)
            value = unicode_2_utf8(value)
            newpara[key] = value
        return newpara
    elif type(para) is tuple:
        return tuple(unicode_2_utf8(list(para)))
    elif type(para) is unicode:
        return para.encode('utf-8')
    else:
        #print "type========",type(para)
        return para