一、编码
(1)ASCⅡ:只有大小写英文字母、数字和一些符号;
(2)Unicode:统一所有语言,用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节);
(3)UTF-8:长度可变化,更节省空间。常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节;
二、字符串
(1)Python3使用Unicode编码;
(2)对单个字符,ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符;
(3)python的字符串类型是str,在传输或者存储时需变为bytes类型;
(4)Python对bytes类型的数据用带b前缀的单引号或双引号表示,如:x = b'ABC';
(5)str类型通过encode()函数转换为bytes类型,bytes通过decode()函数转换为str;
(6)如果bytes中只有一小部分无效的字节,可以传入errors='ignore'忽略错误的字节;
(7)使用len()函数统计字符串中的字符个数;
(8)由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
三、格式化
(1)格式化整数和浮点数可以指定是否补0和整数与小数的位数:
(2)%d——整数;%s——字符串;%f——浮点型;%x——16进制整数;
(3)不知道是什么类型时,可以全部使用字符串型;
(4)Format()方法
用传入的参数依次替换字符串内的占位符{0}、{1}……,如:'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125);
(5)F-string方法
字符串以f开头,如:print(f'The area of a circle with radius {r} is {s:.2f}')。