part1.字符编码
字符编码
字符编码的发展
计算机中,字符是用二进制数字来保存。起初,字符串里只有英文字母和标点符号,使用一个字节(8位)就可以完全覆盖,称为ASCII编码。
后来由于计算机需要处理更多种语言的字符,一个字节已经满足不了需求,就有了Unicode编码,用两个字节(16位,65535)来表示字符,但是对于使用最多的英文字母,就会平白增添一倍的存储占用,所以就有了可变长编码的UTF-8编码,英文字母用一个字节存储,汉字就用两个字节。
计算机内存中,统一使用Unicode编码,保存到硬盘里的时候,再转成UTF-8编码。
Python中的字符串
Python中的字符串是用Unicode编码的,有相应的几个函数:
-
ord()用来获取字符的整数表示,chr()可以把数字编码成对应的字符
>>> print(ord('A')) 65 >>> print(chr(65)) A -
len()可以返回字符串的字符数
>>> print(len('我的')) 2 >>> print(len('\xe4\xb8\xad\xe6\x96\x87')) 6
格式化
要输出格式化的字符串,“亲爱的xxx你好”,要把xxx当作变量输出,需要格式化字符串方法。
>>> "Hello,%s,you have %d." %('liming',100)
'Hello,liming,you have 100.'
不同的数据类型,有不同的占位符
-
%d :整数
-
%f :浮点数
-
%s :字符串
-
%x :十六进制整数
%作为运算符,不能直接作为字符输出,在字符串中要输出,用‘%%’表示
f-string
当字符串内出现{x},其中的x就会用同名的变量替换
>>> r=2.5
>>> print(f"r is {r}")
r is 2.5
浙公网安备 33010602011771号