zoukankan      html  css  js  c++  java
  • Python 二进制序列(字节序列)类型之一:bytes [学习 Python 必备基础知识][看此一篇就够了][文本序列(str)转换成字节序列(bytes)][字节序列转换为文本序列]

    您的“关注”和“点赞”,是信任,是认可,是支持,是动力......

    如意见相佐,可留言。
    本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。

    在这里插入图片描述

    1 bytes 类型概述

    Python bytes 类型是由单个字节构成的不可变序列。

    Python bytes 可以称为二进制序列、或字节序列。

    bytes 只负责以字节序列的形式(二进制序列的形式)来存储数据,至于这些数据到底表示什么内容(例如:数字、字符串、图片、音频等),完全由程序的解析方式决定。

    bytes 非常适合在互联网上传输,可以用于网络通信编程。

    2 文本序列(str)与字节序列(bytes)的相互转换

    2.1 文本序列(str)与字节序列(bytes)的相互转换概述

    如果采用合适的字符编码方式(指的是字符集),字节序列(二进制序列)可以转换成文本序列(字符串);文本序列(字符串)也可以转换成字节序列(二进制序列)。

    2.2 将文本序列(str)转换成字节序列(bytes)

    有以下三种方法可以达到这个目的:

    • 如果字符串的内容都是 ASCII 字符,那么直接在字符串(文本序列)前面添加 b 前缀就可以转换成 bytes
    • bytes 是一个类,调用它的构造方法 bytes(),可以将字符串(文本序列)按照指定的字符集转换成 bytes;如果不指定字符集,那么默认采用 UTF-8
    • 字符串(文本序列)本身有一个 encode() 方法,该方法专门用来将字符串按照指定的字符集转换成对应的字节序列;如果不指定字符集,那么默认采用 UTF-8

    举例如下所示:

    # 通过 b 前缀将文本序列转换成字节序列
    bytes_demo1 = b'https://blog.csdn.net/manongajie'
    print('通过 b 前缀将文本序列转换成字节序列 bytes_demo1 =', bytes_demo1)
    
    
    # 通过构造方法 bytes() 将文本序列转换成字节序列
    # 非 ASCII 字符,print() 输出的是它的字符编码值(十六进制形式)
    bytes_demo2 = bytes('码农阿杰', encoding='UTF-8')  # 可以指定字符集。如果不指定,默认为 UTF-8。
    print('通过构造方法 bytes() 将文本序列转换成字节序列 bytes_demo2 =', bytes_demo2)
    
    
    # 通过 encode() 方法将文本序列转换成字节序列
    str_demo = '码农阿杰'  # 非 ASCII 字符,print() 输出的是它的字符编码值(十六进制形式)
    bytes_demo3 = str_demo.encode('UTF-8')
    print('通过 encode() 方法将文本序列转换成字节序列 bytes_demo3 =', bytes_demo3)
    
    

    运行结果:

    通过 b 前缀将文本序列转换成字节序列 bytes_demo1 = b'https://blog.csdn.net/manongajie'
    通过构造方法 bytes() 将文本序列转换成字节序列 bytes_demo2 = b'xe7xa0x81xe5x86x9cxe9x98xbfxe6x9dxb0'
    通过 encode() 方法将文本序列转换成字节序列 bytes_demo3 = b'xe7xa0x81xe5x86x9cxe9x98xbfxe6x9dxb0'
    

    2.3 将字节序列(bytes)转换为文本序列(str)

    将字节序列(bytes)转换为文本序列(str),可以使用字节序列提供的 decode()方法。

    举例如下所示:

    # 通过 encode() 方法将文本序列转换成字节序列
    str_demo = '码农阿杰'  # 非 ASCII 字符,print() 输出的是它的字符编码值(十六进制形式)
    bytes_demo3 = str_demo.encode('UTF-8')
    print('通过 encode() 方法将文本序列转换成字节序列 bytes_demo3 =', bytes_demo3)
    
    # 通过 decode() 方法将字节序列转换成文本序列
    str1 = bytes_demo3.decode('UTF-8')
    print('通过 decode() 方法将字节序列转换成文本序列 str1 =', str1)
    
    

    运行结果:

    通过 encode() 方法将文本序列转换成字节序列 bytes_demo3 = b'xe7xa0x81xe5x86x9cxe9x98xbfxe6x9dxb0'
    通过 decode() 方法将字节序列转换成文本序列 str1 = 码农阿杰
    

    【文章其它地址】

    微信公众号:码农阿杰

    CSDN 博客

    【参考资料】

    Python 官网

    Python 3.8.2 documentation

  • 相关阅读:
    大屏设计-大数据综合展示可视化平台
    大数据可视化大屏设计经验,教给你!
    数据可视化表格-设计经验分享!
    大数据可视化大屏图表设计经验,教给你
    数据可视化美学形式与功能需要齐头并进
    大屏可视化解决方案
    node-sass 安装失败 win32-x64-57_binding.node
    node版本如何升级
    ES6课程---8、模板字符串
    ES6课程---7、箭头函数
  • 原文地址:https://www.cnblogs.com/manongajie/p/12925801.html
Copyright © 2011-2022 走看看