Python字符编码

作者: Whalesea | 来源:发表于2018-08-03 09:45 被阅读0次

    ‘unicode' 是python字符串(str) 内置的编码格式,与之对应的字节序列(bytes)是以二进制存储各类标准字符串的源码

    unicode标准可以处理很多种文字,但是消耗存储空间较大,在硬盘存储以及网络运输中,往往并不使用unicode,而是使用utf-8格式

    这就涉及到编码以及解码的过程:

    因为py3中,内置是以unicode作为字符串的基础编码标准,编码方法-encode-也是作用于str(unicode)

    str_example = 'this is a example'

    str_for_transport = str_example.encode('utf-8)

    这样字符串就转化成了可以在硬盘,网络中传输的格式

    print(str_for_transport)

    在shell中,或这直接输出utf-8的文件格式,你会发现是 bytes类型的字节序列,

    b'....'

    这样的二进制数据就可以以相对较小的占用,在文件中传输

    反过来说,python在读取文件,读取网络信息时,接受的字符串可能时utf-8格式的,正常处理就需要解码,此时就需要decode方法

    b'..'.decode('该文件所用编码格式-默认utf-8')

    decode产生对象是固定的-unicode字符串(str)

    这就是编码和解码的基础信息

    总结

    unicode是中间件,方便我们在python中进行文字处理

    要进行传输,我们需要进行编码encode到适合的编码标准

    要进行接受,我们需要对接受的信息进行解码decode,已得到我们能正常处理的unicode字符串-str

    例子

    #我有一个字符串

    myStr = '中文'

    #我想把他传输到中文网上,我需要把他转化成gb2312格式

    myStr_GB =myStr.encode('gb2312')

    #中文网想对我的字符串进行处理,需要进行解码处理

    hisStr =myStr_GB.decode('gb2312')

    相关文章

      网友评论

        本文标题:Python字符编码

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