python-编解码

本文介绍了计算机中字符串与字节串的转换,重点讲解了字符串的编码(如GBK、UTF-8、UTF-16)和解码过程。通过示例展示了不同编码方式下的结果差异,并强调了解码时保持编码一致性的重要性。同时,提到了Unicode字符集以及如何使用chr()和ord()进行数字与字符之间的转换。
摘要由CSDN通过智能技术生成

目录

字符串编码

字节串解码

unicode数字和字符的转换


计算机是以二进制的字节串方式存储信息的,我们能看到的内容是以字符串的方式显示的。二进制以8位的长度为一个字节,将不同的字节对应各自的ASCII文字符号,这样形成的一种规范称之为字符集。国际标准组织将世界上所有的文字符号统一制定,形成unicode字符集。字符集中每个不同的符号都对应不同的数字。最常见的unicode字符编码规范是utf8和utf16,对于中文也有中文字符集gbk。编解码速记:“DBES”——'decode bytes,encode strings'。

字符串编码

python语言在存储和网络传输的时候,通常使用字符串的 encode() 方法,括号中的参数为指定编码方式,编码为一个bytes对象。Bytes对象的底层就是使用一个个字节存储的字符串中的文字。字符串使用不同的编码方式,生成的bytes结果也会有所不同,如下:

# 使用gbk、utf-8、utf-16三种不同的编码结果
print('中国'.encode('gbk'))
print('中国'.encode('utf8'))
print('中国'.encode('utf16'))

  

字节串解码

解码是对编码成的字节串转变为对应的字符串的方法,解码的方法是 decode() ,后面指明解码的方式。注意:解码方式一定要和编码方式相同,不然会出现乱码或报错如下:

# 将上面代码中用utf8编码的结果字节串使用utf16解码
print(b'\xe4\xb8\xad\xe5\x9b\xbd'.decode('utf-16'))
# 用utf16编码的结果字节串使用utf8解码
print(b'\xff\xfe-N\xfdV'.decode('utf-8'))

  

unicode数字和字符的转换

数字转换为字符,使用函数:chr()

字符转换为数字,使用函数:ord()

print(chr(65))
print(ord('家'))

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值