码迷,mamicode.com
首页 > 编程语言 > 详细

python开发中编码相关问题

时间:2018-05-12 03:14:06      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:解释   特殊字符   文件系统   包含   系统设计   英文   全球   设计   pytho   

Python2的解释器默认以 ascii码的编码方式进行编码,由于ASCII码只占一个字节126个包含英文和特殊字符,不能正常解码,所有要在文件开头声明编码方法‘# codeing:utf-8’

python2中的 str是以byte类型存储的

 

python3中解释器默认以utf-8的编码方式进行编码和解码,所有不存在中文编码错误

 

len(‘ab‘)  >> 2

len(‘‘中国‘‘)  >> 2

str类型在以字符个数计算

 

len(‘ab‘.encode(‘utf-8‘))  >> 2

len(‘中文‘.encode(‘utf-8‘))  >>  3

 

ascii 编码只解决了英文编码问题

unioncode 解决了全球文字统一编码问题,但是所有字符都占有四个字节

utf-8 为了节省空间,而且保留之前ascii编码的文件系统设计的一种变长的编码规则,英文和特殊字符继续保持ascii编码占一个字符,中文在utf-8编码中一个文字占有三个字节

 

python开发中编码相关问题

标签:解释   特殊字符   文件系统   包含   系统设计   英文   全球   设计   pytho   

原文地址:https://www.cnblogs.com/maxiaohei/p/9026948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!