Python 程序设计讲义(26):字符串的用法——字符的编码

Python 程序设计讲义(26):字符串的用法——字符的编码

目录

  • Python 程序设计讲义(26):字符串的用法——字符的编码
    • 一、字符的编码
    • 二、`ASCII `编码
    • 三、`Unicode` 编码
    • 四、使用 `ord()`函数查询一个字符对应的`Unicode` 编码
    • 五、使用`chr()`函数查询一个`Unicode` 编码对应的字符
    • 六、`Python`字符串的特征

一、字符的编码

计算机默认只能处理二进制数,而不能处理字符串。为了处理字符串,需要将字符串包含的每个字符转换为二进制数。字符与二进制数之间的对应规则,就是字符的编码。

二、ASCII 编码

ASCII 编码使用一个字节(8位二进制数)表示一个字符,ASCII 编码最多可以处理 256 个字符。

ASCII 编码对大小写字母、数字、特殊符号、控制字符等指定了编码规则。

常见字符的 ASCII 编码如下表所示:

字符 二进制数 十进制数 字符 二进制数 十进制数
0 00110000 48 : 00111010 58
1 00110001 49 ; 00111011 59
2 00110010 50 < 00111100 60
3 00110011 51 = 00111101 61
4 00110100 52 > 00111110 62
5 00110101 53 ? 00111111 63
6 00110110 54
7 00110111 55
8 00111000 56
9 00111001 57
A 01000001 65 a 01100001 97
B 01000010 66 b 01100010 98
C 01000011 67 c 01100011 99
D 01000100 68 d 01100100 100
E 01000101 69 e 01100101 101
F 01000110 70 f 01100110 102
G 01000111 71 g 01100111 103
H 01001000 72 h 01101000 104
I 01001001 73 i 01101001 105
J 01001010 74 j 01101010 106
K 01001011 75 k 01101011 107
L 01001100 76 l 01101100 108
M 01001101 77 m 01101101 109
N 01001110 78 n 01101110 110
O 01001111 79 o 01101111 111
P 01010000 80 p 01110000 112
Q 01010001 81 q 01110001 113
R 01010010 82 r 01110010 114
S 01010011 83 s 01110011 115
T 01010100 84 t 01110100 116
U 01010101 85 u 01110101 117
V 01010110 86 v 01110110 118
W 01010111 87 w 01110111 119
X 01011000 88 x 01111000 120
Y 01011001 89 y 01111001 121
Z 01011010 90 z 01111010 122

三、Unicode 编码

ASCII 编码只能表示西文字符。为了处理更多的字符,诞生了 Unicode 编码,Unicode 编码使用 2个字节(16位二进制数)表示一个字符。因此,Unicode 编码最多可以处理65536个字符。

Unicode 编码兼容ASCII 编码,ASCII 编码能够表示的字符,Unicode 编码也能表示。

四、使用 ord()函数查询一个字符对应的Unicode 编码

使用 ord()函数可以可以返回指定字符的 Unicode 编码值。

语法格式如下:

ord(ch)
说明:
(1)ch 表示一个字符
(2)Unicode 编码值默认以十进制格式输出

例如:

print("字母a的Unicode编码为:",ord('a'),bin(ord('a')))
print("汉字“中”的Unicode编码为:",ord('中'),bin(ord('中')))
print("标点符号“。”的Unicode编码为:",ord('。'),bin(ord('。')))

程序的运行结果为:
字母a的Unicode编码为: 97 0b1100001
汉字“中”的Unicode编码为: 20013 0b100111000101101
标点符号“。”的Unicode编码为: 12290 0b11000000000010

五、使用chr()函数查询一个Unicode 编码对应的字符

使用 chr()函数可以可以返回一个 Unicode 编码值对应的字符。

语法格式如下:

char(x)
说明:x 表示一个Unicode编码值,可以是二进制数、十进制数、十六进制数

例如:

print(chr(65),end="  ")
print(chr(0b1000001),end="  ")
print(chr(0o101),end="  ")
print(chr(0x41))
print(chr(20013))

程序的运行结果为:
A  A  A  A
中

六、Python字符串的特征

Python的字符串类型属于基本类型。可以使用 type()函数查看。

例如:

str="Hello Python"
print(str)
print(type(str))

程序的运行结果为:
Hello Python
<class 'str'>

但字符串类型又是一个由多个字符组成的序列,可以看做是一个可迭代类型。

例如:

str="Hello Python"
for i in str:
    print(i)
    
程序的运行结果为:
H
e
l
l
o
 
P
y
t
h
o
n

你可能感兴趣的:(Python,讲义,python,开发语言)