美文网首页
python的编解码(utf-8与gbk互转)

python的编解码(utf-8与gbk互转)

作者: bluenickle | 来源:发表于2017-07-19 23:26 被阅读0次

    演示

    python内部字符串统一是用unicode来存的,但是字符串在初始化的时候会因为操作系统环境而有差异

    下面是在Linux环境下(UTF-8)初始化字符串

    >>> d = '测试'
    >>> d
    '\xe6\xb5\x8b\xe8\xaf\x95'
    

    转成unicode,可以看到变成了u开头的一堆字符,这个时候就可以转码了

    >>> d = d.decode('utf-8')
    >>> d
    u'\u6d4b\u8bd5'
    

    转成GBK编码

    >>> d = d.encode('gbk')
    >>> d
    '\xb2\xe2\xca\xd4'
    

    总结:

    • decode操作,把编码后的字符串转成未编码的unicode
    • encode操作,将unicode转成编码后的字符串

    智能判断编码类型

    >>> import chardet
    
    >>> d = d.encode('utf-8')
    >>> chardet.detect(d)
    {'confidence': 0.7525, 'language': '', 'encoding': 'utf-8'}
    

    相关文章

      网友评论

          本文标题:python的编解码(utf-8与gbk互转)

          本文链接:https://www.haomeiwen.com/subject/pybrkxtx.html