zoukankan      html  css  js  c++  java
  • 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/
    欢迎转载收藏,转载请注明来源,谢谢支持!
  • 相关阅读:
    Java学习笔记(4)
    Idea常用功能汇总
    Java学习笔记(3)
    Java学习笔记(2)
    Java学习笔记(1)
    如何开发NPM包
    c#抓屏功能在DPI缩放后,截到的图片不完整的问题
    支持续传功能的ASP.NET WEB API文件下载服务
    ASP.NET MVC 阻止通过Url直接访问服务器上的静态文件
    VS2013/VS2015/VS2017通过oschina托管代码
  • 原文地址:https://www.cnblogs.com/konggg/p/8945663.html
Copyright © 2011-2022 走看看