Python3在处理一些底层应用时(比如socket编程)会用到字节类型(bytes)。

首先Python2与Python3的字节字符串大有不同,如果不幸看错了教程,那就悲剧了。以下内容均指Python3.

声明一个字节类型的对象

我们可以用单引号或双引号的字面量表示法得到一个字符串类型:

"Hello World"

在字符串的字面量表示前加上b字母,就可以得到一个字节类型的对象。

bt = b"Hello World"

因为我们只用了ASCII字符来创建字节类型,所以Python会自动将可读的部分按照转换为文字。如果数据是不可读的,则使用16进制来表示。

>> b"\x48" # 0x48是字母"H"对应的ASCII码

b"H"

>> b"\x01\x02\x03"

b'\x01\x02\x03'

字符串的元素是字符,bytes对象的元素则是字节,我们可以用方括号来取得每个字节。本质上,字节对象就是一个整数数组

>> bt[0]

72

得到的是一个0~255的数字(即8位二进制数字所能表示的十进制数字),我们知道,数据在计算机是用一串0和1来存储,每个0或1为一个比特(bit)又称"位",8个比特组成1个字节,即8bits=1byte。(这就是Mbps和MB/s差八倍的原因,前者是兆比特每秒,后者是兆字节每秒)

我们可以用bin(bt[0])来直观地表示每个字节在内存中的储存方式:

>>

python byte类型_Python3的字节类型(bytes)相关推荐

  1. pythonbyte连接_Python3之字节串bytes与字节数组bytearray的使用详解

    字节串bytes 字节串也叫字节序列,是不可变的序列,存储以字节为单位的数据 字节串表示方法: b"ABCD" b"\x41\x42" ... 字节串的构造函数 ...

  2. python str byte编码_Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题...

    Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str ...

  3. python字符串类型_Python3的字符串类型(疯狂Python)

    先看一下本篇文章要讲的内容目录: 4.2 字符串入门String4.2.1 repr和字符串4.2.2 input和raw_input4.2.3 长字符串4.2.4 bytes4.2.5 字符串格式化 ...

  4. 8位无符号和8位有符号转化为更高字节类型的问题

    main() {unsigned char uch=0xff; //数值为255 char ch=0xff; //数值为-1int i=0; i=i+uch;printf("%x\n&quo ...

  5. c语言字节类型(bytes),Python bytes类型及用法

    Python bytes 类型用来表示一个字节串."字节串"不是编程术语,是我自己"捏造"的一个词,用来和字符串相呼应. bytes 是 Python 3.x ...

  6. 【Python】第二章 内置数据类型

    该文章内容整理自<Python编程:从入门到实践>.<流畅的Python>.以及网上各大博客 文章目录 内置数据类型 变量 基本运算 特殊值 布尔值 数字类型 序列 字符串 转 ...

  7. python第六篇文件处理类型

    阅读目录 一 文件操作 二 打开文件的模式 三 操作文件的方法 四 文件内光标移动 五 文件的修改 文件处理 上节课复习 文件处理b模式 文件处理其他模式 seek  的补充  迭代器和生成器 生成器 ...

  8. python-关于字节类型的转换

    1. bytes(source) --source为字符串时,则按照指定的 encoding 将字符串转换为字节序列bytes('123asd', encoding='utf-8') # 输出为:b' ...

  9. python参数类型限定_python限定方法参数类型、返回值类型、变量类型等|python3教程|python入门|python教程...

    https://www.xin3721.com/eschool/python.html typing模块的作用 自python3.5开始,PEP484为python引入了类型注解(type hints ...

最新文章

  1. 06 面向对象之:反射,双下方法
  2. postgresql开发中可能有用的知识
  3. R语言ggplot2可视化:为可视化图像添加多行标题(multi line title)并将多行标题居中对齐(center align)
  4. java xml 拆分_java – 如何使用VTDGenHuge将大型xml拆分成小块?
  5. tomcat怎么平滑更新项目_tomcat_deploy 平滑启动脚本
  6. Moment.js日期处理库的使用
  7. SSO单点登录学习总结(3)—— 基于CAS实现单点登录实例
  8. 九章算术卷第二 粟米
  9. 使用Movavi Photo Editor如何修复照片中的红眼
  10. 分享一下我自己做的新媒体运营月报,有人看吗?
  11. origin数据平滑_Origin平滑曲线的使用方法
  12. 移动端怎么让图片不失真_图片怎样放大后不模糊 图片放大不失真的方法步骤...
  13. 百度快照不更新与投诉处理的经验
  14. 4.6 linux文件系统-虚拟文件系统VFS
  15. linux tty core code,linux tty core 源码分析(6)
  16. 全国计算机考试挂科要不要补考,为什么说大学不要挂科,大学期间挂科了怎么办?...
  17. 速看!2022年8月编程语言排行榜出炉!第一名太牛啦
  18. 分析pc计算机的性能方面,《腐烂国度2》PC性能表现分析 中档电脑轻松驾驭
  19. 机器视觉丨平行面光源的原理丨打光案例及尺寸图
  20. 【人类观察所】quot;当代人quot;正经历的生活

热门文章

  1. Java 解压缩各种格式
  2. 宇宙环境和演化过程统一建模方法——读《奇点临近》有感
  3. 三种循环的流程图画法总结 [转]
  4. 网络管理系统、网管、network manage system、运维系统
  5. 大三了,软件工程专业女生能走哪个方向呢?
  6. linux下通过终端打开文件夹
  7. 【网络安全】逻辑漏洞保姆级讲解
  8. 我就问你,半路接手嵌入式项目棘手不?
  9. 润和软件为OpenHarmony落地智慧城市构建高效可靠软件基座
  10. CGB2111-Day18