python encode decode unicode的理解

str='张三abc'
codec='utf-8'
str.decode(codec)

1、str 此时类型为 <type 'str'> 普通类型的字符串 它的编码格式 是当前文本编辑器/shell 设定的编码格式决定的 值得注意的是len(str) 得到str的长度是7不是5

2、codec 应该是字符串本身的编码格式 假如字符串是gbk编码的 你用utf-8decode 会引发 UnicodeDecodeError

3、decode 返回的是Unicode字符串对象

4、当要把 <type 'str'> 普通类型的字符串对象转换成其他编码格式的字符串时 应该 先将普通字符串转换成<type 'unicode'> Unicode的字符串 然后进行encode

5、下面的图更好的解释了encode decode unicode 之间的关系

引用 参见
https://stackoverflow.com/questions/34157668/how-to-use-encodeutf-8-in-python

posted on 2017-09-20 11:13  chevsea  阅读(242)  评论(0)    收藏  举报

导航