做者:shede333
主页:http://my.oschina.net/shede333 && http://blog.sina.com.cn/u/1509658847
版权声明:原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0][]html
#Python 字符串与unicode对象 关于与区别 encode、decodepython
做者:shede333
主页:http://my.oschina.net/shede333
版权声明:原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0][]数组
结合下面的文章的一点理解:
python 中文乱码问题深刻分析_python_脚本之家
python的str,unicode对象的encode和decode方法(转) - 不得闲 - 博客园
python编码问题_百度文库ide
##字符串str:
是一个字节数组, 是对unicode对象,编码encode(utf-8,gbk,GB2312 等等)后的存储格式,测试
##unicode对象 u’****’: 是一个unicode对象, 经过encode()接口转换为str编码
注:在pycharm等ide 更改文件头编码声明,会影响文件真正的编码存储,可能会影响测试结果
url
##开始测试验证.net
测试环境 Mac OS 10.9 , Pycharm 3.0.2
code
###测试1.htm
#_*_ coding:GBK _*_ print '哈哈'.decode('gbk') print repr('哈哈’)
输出:
哈哈
'\xb9\xfe\xb9\xfe’
###测试2.
#_*_ coding:UTF-8 _*_ print '哈哈'.decode('utf-8') print repr('哈哈’)
输出:
哈哈
'\xe5\x93\x88\xe5\x93\x88'
###测试3.
文件头 #_*_ coding:GBK _*_ print repr('哈哈’) print '哈哈'.decode(‘utf-8')
输出:
'\xb9\xfe\xb9\xfe’
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb9 in position 0: invalid start byte
###测试4.
#_*_ coding:UTF-8 _*_ print repr('哈哈’) print '哈哈'.decode('gbk')
输出:
'\xe5\x93\x88\xe5\x93\x88'
鍝堝搱
注:上面输出了乱码