Python bytes类型,python 字符串字节数

  Python bytes类型,python 字符串字节数

  本文将介绍Python字节字符串类型bytes及其用法,并通过示例代码对其进行详细介绍。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。

  

一、bytes字节串类型概述

 

  Python3增加了bytes类型,用于表示字节串。它是一种类型,而不是C#中的列表。

  由于bytes存储的是原始的字节(二进制格式)数据,bytes对象可以用来在网络上传输数据,也可以用来存储各种二进制格式的文件,如图片、音乐等文件。

  

1、字节串与字符串之间的区别

 

  Bytes和str基本上支持相同的方法,只是它们对不同的数据单元进行操作。字节也是一个不可变的序列。

  字符串(str)由多个字符组成,以字符为单位进行运算;字节由多个字节组成,以字节为单位进行操作。

2、字节概述

 

  计算机底层有两个基本概念:位和字节,其中

  Bit代表1位,不是0就是1;Byte代表1个字节,1个字节包含8位。在一个字节串中,每个数据单元是一个字节,即8位,其中每4位(相当于一个4位二进制数,最小值为0,最大值为15)可以用一个十六进制数表示,所以每个字节需要两个十六进制数。

  b xe6 x88 x91 xe7 x88 xb1 python xe7 xbc x96 xe7 xa8 x8b ,

  #例如,xe6表示1个字节,其中x表示十六进制,e6是两位十六进制数。

  Unicode字符集,包括汉字,是两个字节(16位,支持65536个字符数)。实际的UTF-8,UTF-16等等其实都属于Unicode字符集。

  

二、字节串与字符串之间的转换

 

  Bytes对象只负责以字节序列(二进制格式)记录数据。至于这些数据代表什么,完全由程序决定。如果采用合适的字符集,字符串可以转换成字节串;相反,字节串可以恢复成相应的字符串。

  

1、将一个字符串转换成 bytes 对象

 

  如果你想把一个字符串转换成一个字节对象,有三种方法:

  B1 ~ B5是下面程序中的字节串对象,演示了如何用不同的方式构造字节串对象。B2和b3直接给ASCII字符串加B前缀得到字节串:b4调用bytes()函数构建字节串;B5调用字符串的encode方法来构建字节字符串。

  如果字符串的内容都是ASCII字符,您可以通过直接在字符串前添加B来构建一个字节字符串值。#创建一个空字节

  b1=字节()

  #创建一个空字节值

  b2=b

  # 1.通过b前缀指定hello是一个字节类型值。

  b3=b“你好”

  打印(b3)

  打印(b3[0])

  打印(b3[2:4])

  #b“你好”

  #104

  #我会

  调用bytes()函数(实际上是bytes的构造方法)将一个字符串按照指定的字符集转换成一个字节串,

  如果没有指定字符集,默认情况下使用UTF-8字符集。#调用bytes方法将字符串转换为bytes对象。

  B4=字节(我爱Python编程,编码=utf-8 )

  打印(b4)

  # b xe6 x88 x91 xe7 x88 xb1 python xe7 xbc x96 xe7 xa8 x8b

  调用字符串本身的encode()方法,根据指定的字符集将字符串转换为字节串(常用)

  如果没有指定字符集,默认情况下使用UTF-8字符集。#使用字符串的encode()方法编码成字节,默认使用utf-8字符集。

  b5=‘学习Python很有趣’。编码(“utf-8”)

  打印(b5)

  # b xe5 xad xa6 xe4 xb9 xa0 python xe5 xbe x88 xe6 x9c x89 xe8 xb6 xa3

  从上面的输出结果可以看出,字节串与字符串非常相似,只是字节串中的每个数据单元都是1个字节。

  

2、decode():将一个bytes 对象转换成字符串

 

  如果程序获得了bytes对象,它还可以调用bytes对象的decode()方法将其解码为一个字符串,

  #将bytes对象解码为字符串,默认情况下由UTF-8解码。

  st=b5.decode(utf-8 )

  Print(st)#学习Python很有趣

  关于Python字节字符串类型bytes及其用法的这篇文章到此结束。希望对大家的学习有所帮助,也希望大家能支持盛行的IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: