Python 编码详细介绍

本文详细介绍了Python中的字符编码,包括ASCII、Unicode、UTF-8和GB2312。强调了Unicode的广泛性和升级到UTF-8的必要性,以及在Python 3.x中str和bytes的区别和使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ascii:字母、数字、特殊字符

  • A:0100 0001
  • B:0100 0010

unicode:万国码,包含世界上所有的文字

  • 创建之初
    • A:0000 0000 0100 0001
    • 中:0100 1110 0010 1101
  • 升级
    • A:0000 0000 0000 0000 0000 0000 0100 0001 (32位)
    • 中:0000 0000 0000 0000 0100 1110 0010 1101
    • 资源浪费

对 unicode 升级:utf-8

  • A:0100 0001 (8位)
  • 欧:0000 0010 0100 0001 (16位)
  • 中:1110 0100 1011 1000 1010 1101 (24位)

gb2312:国标,包含字母、数字、特殊字符、中文

  • A:0100 0001
  • 中:1101 0110 1101 0000

注意

  • 编码之间不能互相识别
  • 网络传输、硬盘存储,必须是以非 unicode 编码方式的 0100 0001

Python 3.X

  • str:内存编码方式为 unicode
  • bytes:
区别
  • 英文字母
    • str
      • 表现形式:s1 = ‘nancy’
      • 内部编码方式:unicode
    • bytes
      • 表现形式:b1 = b’nancy’
      • 内部编码方式:非 unicode
  • 中文
    • str
      • 表现形式:s1 = ‘南肆’
      • 内部编码方式:unicode
    • bytes
      • 表现形式:b1 = b’\xe5\x8d\x97\xe8\x82\x86’
      • 内部编码方式:非 unicode
如何使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wkyU2LEw-1587626451051)(http://qiniuyun.iamnancy.top/str2socket2.png)]

如果你想将一部分内容(字符串)写入文件或通过网络进行传输,必须先转化成bytes才可。平时代码中,使用字符串。

  • str—> bytes:encode 编码
  • bytes—> str:decode 解码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值