字符编码

  • ​​ord():字符转编码​​
  • ​​chr():编码转字符​​
  • ​​encode​​
  • ​​decode​​
  • ​​进制转换​​
  • ​​bin()​​
  • ​​oct()​​
  • ​​hex()​​
  • ​​参考网页​​




计算机在设计时采用8位(bit)作为一个字节(byte)
8位一个字节,8bit=1byte
1024byte=1kb(千字节)
1024kb=1mb
1024MB = 1GB
1024GB = 1TB
两个位置可以表示四种状态:00,01,10,11

所以,一个字节(2的8次方)能表示的最大的整数就是255(二进制11111111=十进制255),
如果要表示更大的整数,就必须用更多的字节。
比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。

ASCII

最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,
这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。

Unicode

Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符
(如果要用到非常偏僻的字符,就需要4个字节)。

UTF-8

本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。
UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,
常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间

python入门(7.3)-----字符编码_字符串

ord():字符转编码

print(ord('A'))
print(ord('中'))
65
20013

chr():编码转字符

print(chr(66))
print(chr(20013))
B

encode

字符串的编码转换
编码:将字符串转换为二进制数据(bytes)
解码:将bytes类型的数据转换成字符串类型

# 字符串的编码转换
# 编码:将字符串转换为二进制数据(bytes)
# 解码:将bytes类型的数据转换成字符串类型
s = '天涯共此时'
# 编码
print(s.encode(encoding='GBK')) # 这种编码一个中文占两个字节
print(s.encode(encoding='UTF-8')) # 在tuf-8这种编码中一个中文占三个字节
b'\xcc\xec\xd1\xc4\xb9\xb2\xb4\xcb\xca\xb1'
b'\xe5\xa4\xa9\xe6\xb6\xaf\xe5\x85\xb1\xe6\xad\xa4\xe6\x97\xb6'

decode

s = '天涯共此时'
# 解码
# byte代表的就是一个二进制数据
byte = s.encode(encoding='GBK') # 编码
print(byte.decode(encoding='GBK')) # 解码,用什么编码就要用什么解码

byte = s.encode(encoding='UTF-8')
print(byte.decode(encoding='UTF-8)'))
天涯共此时
天涯共此时

进制转换

bin()

oct()

hex()

转化为16进制

n = 16
print(hex(n))
0x10


参考网页

​地址​