美文网首页
字符编码与转码

字符编码与转码

作者: Oneshot_fea8 | 来源:发表于2019-01-04 21:58 被阅读0次

    字符编码与转码

    ASCII(只能存英文或特殊字符占1个字节8位)-GB2312-GBK(向下兼容GB2312)-Unicode(俗称万国编码集,既兼容GB2312又兼容GBK,中英文均默认占两个字节16位)-UTF8(可变长的字符编码集,可以认为时Unicode的扩展集,目的是为了减少英文字符的占用内存,默认所有的英文按ASCII码的形式存储,所有中文按3个字节存储)

    image
    s = "你好"
    print(s)
    s_gbk = s.encode("gbk")
    print(s_gbk)        # gbk
    print(s.encode())   # utf-8  
    
    image
    默认是utf-8,转成gbk可以看到前面有个b表示变成了bytes类型,而且可以看到两种模式下的输出是不一样的。
    gbk_to_utf8 = s_gbk.decode("gbk").encode("utf-8")
    print("utf-8", gbk_to_utf8)  
    
    image
    uft8向gbk编码需要经过unicode ,可以说所有的字符集转换都需要经过unicode.
    s = "你好"
    print(s.encode("gbk"))
    print(s.encode("utf-8"))
    print(s.encode("utf-8").decode("utf-8").encode("gb2312"))
    print(s.encode("utf-8").decode("utf-8").encode("gb2312").decode("gb2312"))  
    
    image

    相关文章

      网友评论

          本文标题:字符编码与转码

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