zoukankan      html  css  js  c++  java
  • python-字符串

    一、字符编码

    1. 最早使用的编码方式为ASCII编码,ASCII编码是1个字节,例如:字母A用ASCII编码是十进制的65,二进制的01000001

    2. Unicode编码是将所有语言统一到一套编码里,避免乱码,Unicode编码是2个字节,例如:字母A用Unicode编码是十进制的65,二进制的 00000000 01000001

    3. UTF-8编码是将Unicode编码转化为可变长的编码,可节省空间。通常,英文字母被编码成1个字节,汉字被编码成3个字节,生僻的字符被编码成4~6个字节

    4. ASCII编码实际上可以被看成是UTF-8编码的一部分,所以,大量只支持ASCII编码的软件可以在UTF-8编码下继续工作

    5. 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码

    6. <meta charset="UTF-8" />,表示该网页正是用的UTF-8编码

    二、python的字符串

    1. 对于单个字符的编码,ord()函数表示将字符转换为整数,chr()函数表示将编码转换为对应的字符

    例如:

    1 >>> ord('A')
    2 65
    3 >>>ord('')
    4 20013
    5 >>> chr(66)
    6 'B'
    7 >>>chr(20013)
    8 ''

    2. python中字符串类型是str,在内存中用Unicode表示,一个字符对应若干个字节。若要在网络上传输或者保存在磁盘上,需要把str转换为以字节为单位的bytes

        对bytes类型的数据要用带b前缀的单引号或双引号表示,例如:a=b'ABC',而b='ABC'表示的为str类型

        bytes类型的数据每个字符占1个字节,如上a共占3个字节

    3. 以Unicode表示的str可以通过encode()方法编码成指定的bytes(字符转换为字节,用于网络上传输或者是将字符保存在磁盘上时)

    例如:

    1 >>> 'ABC'.encode('ascii')
    2 b'(ABC')
    3 >>> '中文'.encode('utf-8')
    4 b'xe4xb8xadxe6x96x87'

    4. 在网络上或者是磁盘上读取字节流时,读取到的是bytes,将bytes转换为str需要用到decode()方法(字节转换为字符)

    例如:

    1 >>> b'ABC'.decode('ascii')
    2 'ABC'
    3 >>> b'xe4xb8xadxe6x96x87'.decode('utf-8')
    4 '中文'

    如果bytes中只有一小部分无效的字节,可以传入参数errors='ignore'忽略错误的字节

    5. len()函数可用来计算包含的字节数或者字符数

    例如:

     1  #计算字符数
     2  >>> len('ABC')
     3  3
     4  >>> len('中文')
     5  2
     6  #计算字节数
     7  >>> len(b'ABC')  #一个英文字符通常占一个字节
     8  3
     9  >>> len('中文'.encode('utf-8')  #一个中文字符通常占三个字节
    10  6
    11  >>> len(b'111111')
    12  6
  • 相关阅读:
    Shader 结构体中语义的理解
    计算包围盒中心坐标
    c#脚本控制shader
    PS2键盘 + LCD12864 实验
    基于M9K块配置ROM的LCD12864图片显示实验
    LCD12864 液晶显示-汉字及自定义显示(串口)
    LCD12864 液晶显示-汉字及自定义显示(并口)
    基于Verilog HDL 的数字电压表设计
    基于Verilog HDL的ADC0809CCN数据采样
    触发器(基本的SR触发器、同步触发器、D触发器)
  • 原文地址:https://www.cnblogs.com/canneddream/p/14070382.html
Copyright © 2011-2022 走看看