20180706学习日报

几种主要编码的比较:
UTF-8编码有一个额外的好处,就是ASCII编码实际上可以被看成UTF-8编码的一部分;大量支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作

UTF-8、UTF-16、UTF-32的一些区别:
1.uft编码方式的设计初衷主要是节省,utf8因为兼容ascii,可以使用一个字节表示英语世界常用字符,比较省空间和宽带。utf8是变长的字符串

2.utf16因为使用两个字节为单位,所以分为大尾和小尾,即utf16 be 和utf16 le。很多人其实并不知道utf16有两种,他们也搞不清楚自己把数据存成大尾还是小尾

3.对于编程来说,最友好的编码是utf32.由于utf32表示任何字符都用4字节,读到内存中是个均匀的整形数组,于是我们可以很方便地随机访问任何一个字符。其他方式则不允许这么操作,utf-8是变长的,无法使用随机访问的方式读取

4.所以最理想的文字处理方式是用utf8存储和传输,程序读到内存里转为utf32处理

解决代码中出现中文乱码问题:
1.使用中文需要在第一行声明编码#encoding=utf-8
2.或者#coding=utf-8
3.python只检查#、coding和编码字符串,所以你可能会见到下面的声明方式,这种方式是为了美观才这么写的#--coding:UTF-8--
4.文件保存为utf-8编码格式,在文件中的中文字符串需要使用u,例如:u’中文’

python2和python3中在输出中文不同:

C:\Users\admin\Desktop\颜金凤\代码>py -3
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.

type(u”a”)

猜你喜欢

转载自blog.csdn.net/yan_jin_feng/article/details/82119377