美文网首页
python中的编码问题

python中的编码问题

作者: Andone1cc | 来源:发表于2017-05-11 19:52 被阅读0次

    decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。

    encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('utf-8'),表示将unicode编码的字符串str2转换成utf-8编码。

    <对于普通的str类型>
    str字符串,它本身存储的就是字节码。如果这段代码是在解释器上输入的,那么这个s的格式就是解释器的编码格式,对于windows的cmd而言,就是gbk;如果将段代码是保存后才执行的,比如存储为utf-8,那么在解释器载入这段程序的时候,就会将s初始化为utf-8编码。

    str.encode("utf-8") 等价于 s.decode(defaultencoding).encode("utf-8")
    defaultencoding设置方法:sys.setdefaultencoding('utf-8')
    u = unicode("人生苦短") 等价于 u = unicode("人生苦短",defaultencoding)
    

    str和unicode的区别

    str是字节串,由unicode经过编码(encode)后的字节组成的
    unicode才是真正意义上的字符串,由字符组成

    print函数会自动的做编码转换(按照文件设置的读取编码)

    coding=<utf-8>

    -- coding: utf-8 --

    coding=UTF-8

    是用来告诉解释器按照什么编码格式读取这个文件。

    相关文章

      网友评论

          本文标题:python中的编码问题

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