• Day1 字符编码及编码函数


    ord() 函数
      获取字符的整数表示
    chr() 函数
      把整数编码转换为对应字符

    '十六进制编码十六进制编码' 可以将字符的整数编码使用十六进制的方式这样写


    Python字符串类型为str,在内存中以unicode表示,一个字符对应若干个字节。如果要保存或传输,就需要把str变为以字节为单位的bytes。 Python对bytes类型的数据用带b前缀的单引号或双引号表示, 如 b'ABC'。
    虽然a = 'ABC' 和 a1 = b'ABC' 显示得一样,但是bytes的每个字符只占用一个字节。

    encode()
      以Unicode表示的str 通过encode() 函数可以编码为指定字符编码的bytes , 如:
        'ABC'.encode('ascii')
        '篳昂'.encode('utf-8')
        '篳昂'.encode('GBK')

    decode()
      反过来,将bytes变为str,就需要用到decode()函数了。
        b'ABC'.decode('ascii')
        b'xe7xafxb3xe6x98x82'.decode('utf-8')
      如果bytes数据中包含无法解码的字节,会报错。如果只有小部分无效字节,可以传入errors='ignore'忽略错误 , 如:
        b'xe7xafxb3xe6x98'.decode('utf-8',errors='ignore')

    len()
      计算str包含多少个字符
        len('ABCDERF')
        len('这是一行中文')
      计算bytes包含多少个字节
        len(b'ABC')
        len(b'xe7xafxb3xe6x98x82')

    例子:
        >>> st = '这是一行中文'
        #len计算str包含多少个字符
        >>> len(st)
        6
        #len计算str转换为bytes后,包含多少个字节。utf-8编码时,一个中文字符占用3个字节
        >>> len(st.encode('utf-8'))
        18

    个个原创文章

    欢迎讨论
    https://www.cnblogs.com/konggg/
    欢迎转载收藏,转载请注明来源,谢谢支持!
  • 相关阅读:
    Python垃圾回收机制 总结
    求二叉树中任意两个结点的距离
    Python 实现排序算法
    InnoDB 索引原理
    Linux常用脚本命令总结
    How Django works?
    RabbitMQ 知识总结
    最短路径之Dijkstra算法和Floyd-Warshall算法
    最小生成树之Prim算法和Kruskal算法
    Python collections模块总结
  • 原文地址:https://www.cnblogs.com/konggg/p/8945663.html
Copyright © 2020-2023  润新知