Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了
ASCII编码是1个字节,而Unicode编码通常是2个字节
本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
'ABC'.encode('ascii') //b'ABC'
'中文'.encode('utf-8') //b'\xe4\xb8\xad\xe6\x96\x87'
b'ABC'.decode('ascii') //'ABC'
b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') //'中文'
len() 计算str长度或者byte的字节数
格式化
%d -- 整数
%f -- 浮点数
%s -- 字符串
%x -- 16进制整数
同时还可以指定小数和整数的位数
print('%2d-%02d' % (3, 1))
print('%.2f' % 3.1415926)
另外一种格式化的方法是用format()
'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
网友评论