python基础——str类型和bytes类型
Python2.X和Python3.X在编码方面的区别
Py3.X源码文件默认使用utf-8编码,这使得以下代码变得合法化。
1 >>> 博客 = "python" 2 >>> print(博客) 3 python
python2中使用for循环print汉字,输出为字节,python3中使用for循环print结果为字符
1 #python2 2 >>> sf = "博客" 3 >>> print(sf) 4 博客 5 >>> num = 0 6 >>> for i in sf: 7 ... print(num,i) 8 ... num += 1 9 ... 10 (0, '\xb2') 11 (1, '\xa9') 12 (2, '\xbf') 13 (3, '\xcd')
1 #python3 2 >>> sf = "博客" 3 >>> for i in sf: 4 ... print(i) 5 ... 6 博 7 客
在utf-8编码中一个汉字由三个字节组成,在gbk编码中一个汉字由两个字节组成
1 >>> fs = "博客园" 2 >>> n1 = bytes(fs,encoding = 'utf-8') 3 >>> n2 = bytes(fs,encoding = 'gbk') 4 >>> print(n1) 5 b'\xe5\x8d\x9a\xe5\xae\xa2\xe5\x9b\xad' 6 >>> print(n2) 7 b'\xb2\xa9\xbf\xcd\xd4\xb0'