Python字符编码

计算机只能处理数字,如果要处理文本,必须先把文本转化成数字。计算机最早是美国人发明的,所以只有127个字符被编码到计算机里面,即大小写英文字母、数字及一些符号,这个编码表被称为ASCLL表。其中“A”的编码是65,“a”的编码是97。大本事处理中文一个字节是不够的,至少需要两个字节,为了不与ASCLL码冲突,中国制定了GB2312编码,用来把中文编进去。
**注意:**一个字节能表示的最大整数是225(二进制1111111),两个字节能表示的最大整数是65535,四个字节能表示的最大整数是4294967295。如果要表示更大的数需要更多的字节。
世界上的语言有很多,在多语言混乱的文本中,显示出来会有乱码,Unicode把所有语言都统一到一套编码里,这样就不会有乱码问题了。(日本把日文编到Shift-JIS里面,韩国把韩文编到Euc-kr里)
**ASCLL码和Unicode的区别:**ASCLL编码是一个字节,Unicode编码通常是两个字节。字符0的ASCLL编码是48,注意字符‘0’和整数0是不同的。
如果写的文本基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算,所以把Unicode编码转化为“可变长编码”的UTF-8编码。UTF-8编码(每次8个位传输数据)把一个Unicode字符根据不同符号而变化字节长度,当字符在ASCLL码的范围时,就用一个字节表示,保留了ASCLL字符一个字节的编码作为它的一部分(常用的英文字母被编码成1个字节),汉字通常是3个字节(注意:Unicode一个中文字符占两个字节),只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。从Unicode到UTF-8并不是直接对应的,而是要通过一些算法和规则来转化的。
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值