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

python中的编码问题

作者: 心_的方向 | 来源:发表于2016-12-05 23:03 被阅读18次

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

    对于普通的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 --

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

    相关文章

      网友评论

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

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