美文网首页
Python字符串和编码(三)

Python字符串和编码(三)

作者: chensiyu2014 | 来源:发表于2016-08-17 20:25 被阅读0次

字符编码


  1. 计算机由于是美国人发明,因此只有127个字母编码到计算机里,也就是大小写英文字母、数字和一些符号。该表又称为ASCII编码
  2. 中国制定了GB2312编码来进行中文的编进
  3. 由于各个国家的编码复杂性,Unicode应运而生,Unicode将所有的语言都统一到一套编码里面,这样就不会在有乱码出现。
  4. ASCII编码和Unicode编码的区别是:ASCII编码是1个字节,而Unicode是通常是2个字节。
  5. 尽管Unicode将编码统一了,乱码问题消失了,但是如果基本都是英文的话,用Unicode编码要比ASCII编码多一倍的存储空间,在存储和传输上是否不划算;因此又出现了降Unicode编码转化为“可变成编码”UTF-8编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码为1个字节,汉字通常是3个字节,只有很生僻的才编码为4-6个字节。
  6. 现在计算机系统通用的字符编码工作:在计算机内存中统一使用Unicode,而需要保存到硬盘或者传输的时候,就转换为UTF-8编码;
  7. 关系例子
字符 ASCII Unicode UTF-8
A 0100000 000000001000001 01000001
x 01001110 00101101 11100100 10111000 10101101

Python字符串


  1. 在最新的Python3版本中,字符串是以Unicode编码的,因此Python支持多种语言
  2. 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符
  3. Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节,如果要传输或者保存,需要将str转换为字节为单位bytes;对于bytes类型数据用带b前缀的单引号或双印好表示
  4. Pyhont提供encodedecodel两种方式进行字符编码的转换
  5. len()函数计算str是字符数,计算bytes则为字节数
  6. 为了避免乱码问题,应当时钟坚持使用UTF-8编码对str和bytes转换

格式化


  1. Python的格式化方式和C语言保持一致用%实现
  2. 字符串里面的%是一个普通的字符则需要转移用%%来表示%

总结


牢记采用UTF-8来编码,乱码将不再是问题,了解了ASCII、Unicode以及UTF-8的历史不错

相关文章

  • Python中的字符串编码

    Python中的字符串编码 定义字符串 Python 中存在两种编码方式的字符串:ASCII 和 Unicode。...

  • python编码

    python编码 python编码简介 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,...

  • python 高级方法

    Python的字符串类型 字符编码方法 查看Python中的字符串编码名称,查看系统的编码 源文件字符集编码声明:...

  • Python编码问题

    默认编码 字符串 python2 文本字符串默认编码是ASCII,中文默认UTF-8python3 文本字符串默认...

  • python的unicode编码问题(以正则表达式为例)

    unicode是python的内部编码。字符串在Python内部的表示是unicode编码,因此,在做编码转换时,...

  • json与python

    Python 对象编码成 JSON 字符串 json.dumps 用于将 Python 对象编码成 JSON 字符...

  • Python字符串和编码(三)

    字符编码 计算机由于是美国人发明,因此只有127个字母编码到计算机里,也就是大小写英文字母、数字和一些符号。该表又...

  • 2018-11-08

    今天,我们深入学习了字符串。学习了字符串编码: python中的字符采用的是Unicode编码 a.什么是编码 ...

  • python3 (1)基础语法

    1、编码 python3 源码文件默认UTF-8编码,字符串Unicode字符串。可以不在py文件制定编码,pyt...

  • python 字符串前加u

    python中文编码问题,字符串前面加u

网友评论

      本文标题:Python字符串和编码(三)

      本文链接:https://www.haomeiwen.com/subject/aeomsttx.html