python中bytes函数的用法,python bytes函数

  python中bytes函数的用法,python bytes函数

  本文主要介绍Python中的bytes类型及其用法。Pythonbytes类型用来表示一个字节串,bytes只负责以字节序列的形式存储数据。下面介绍一下它的相关内容,可以供朋友们参考。

  00-1010 1.字节定义2 .字节方法3。用不同的方法创建字节对象的前言;

  Python bytes类型用于表示一个字节串。“字节串”不是一个编程术语,而是我自己“发明”的一个词,用来呼应字符串。

  Bytes是Python 3.x中的新类型,Python 2.x中没有。

  字节串(bytes)和字符串(string)的对比:

  一个字符串由几个字符组成,以字符为单位进行操作;一个字节串由几个字节组成,并以字节为单位进行操作。字节和字符串支持的所有方法除了操作不同的数据单元之外,基本上都是一样的。字节和字符串是不可变的序列,不能随意添加或删除数据。Bytes只负责以字节序列的形式(二进制形式)存储数据。至于这些数据代表什么(字符串、数字、图片、音频等。),完全是由程序的解析方式决定的。如果采用合适的字符编码方法(字符集),可以将字节串还原为字符串;反过来,字符串也可以转换成字节串。

  说白了,bytes只是简单的记录了内存中的原始数据。至于如何使用这些数据,bytes并不关心。你可以想怎么用就怎么用。字节不限制你的行为。

  Bytes数据非常适合在互联网上传输,可用于网络通信编程;字节也可以用来存储图像,音频,视频和其他二进制格式的文件。

  字符串和字节之间有无数的联系。我们可以通过字符串创建bytes对象,或者将字符串转换成bytes对象。

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

  如果字符串的内容都是ASCII字符,那么直接在字符串前面加上B前缀就可以转换成字节。Bytes是一个类,调用它的构造方法,即bytes(),可以根据指定的字符集将一个字符串转换成字节;如果没有指定字符集,默认采用UTF-8。字符串本身有一个encode()方法,专门用来根据指定的字符集将字符串转换成相应的字节串;如果没有指定字符集,默认采用UTF-8。

  

目录

  字节类型由例1:b“字符串”定义,但不支持中文(如果出现中文,将会报告错误)

  例2:可以通过string.encoding(utf-8 )将字符串转换成字节(兼容中文),通过bytes.decode(utf-8 )还原。

  #编码:utf-8

  if __name__==__main__:

  #示例1

  b=babc123

  打印(b) # babc123

  打印(类型(b)) # class 字节

  # c=b I abc123 错误

  #示例2

  C= I abc123

  c=c.encode(utf-8 )

  打印(c) # b\xe6\x88\x91abc123

  print(type(c)) # class bytes

  print(c . decode( utf-8 )# I ABC 123

  

1.bytes定义

  例1:的大多数方法都是bytes(但是它的string参数必须是bytes类型)。

  #编码:utf-8

  if __name__==__main__:

  b=babc123

  print(b . find(b a )# 0

  c=abc123

  print(c . find( a )# 0

  # b.find(a )错误参数必须是字节

  print(b.replace(ba ,b f )# b FBC 123

  print(c.replace(a , f )# FBC 123

  # b.replace(a , f )错误参数必须是字节

  

2.bytes方法

  #通过构造函数创建空字节

  b1=字节()

  #从空字符串创建一个空字节

  b2=b

  #通过B前缀将字符串转换为字节

  B3=b http://c . biancheng . net/python/

  打印( b3: ,b3)

  打印(b3[3])

  打印(b3[7:22])

  #指定bytes()方法的字符集

  B4=字节( C语言中文网站8岁,编码=UTF-8 )

  打印( b4: ,b4)

  #通过encode()方法将字符串转换为字节

  B5=C语言中文网站8年了。编码(“UTF-8”)

  打印( b5: ,b5)

  运行结果:

  b 3: b http://c . biancheng . net/python/

  112

  bc边城网

  b 4: b c \ xe8 \ xaf \ xad \ xe8 \ xa8 \ X80 \ xe4 \ xb8 \ xad \ xe6 \ x96 \ x87 \ xe7 \ xbd \ x918 \ xe5 \ xb2 \ x81 \ xe4 \ xba \ x86

   b 5: b c \ xe8 \ xaf \ xad \ xe8 \ xa8 \ X80 \ xe4 \ xb8 \ xad \ xe6 \ x96 \ x87 \ xe7 \ xbd \ x918 \ xe5 \ xb2 \ x81 \ xe4 \ xba \ x86

  从运行结果可以发现,对于非ASCII字符,print输出的是其字符编码值(十六进制形式)而不是字符本身。非ASCII字符一般占用两个字节以上的内存,而字节是按照单个字节处理数据的,不可能一次处理多个字节。

  关于Python中的字节类型及其用法的文章到此结束。有关Python中字节类型的更多信息,请搜索流行的IT软件开发工作室以前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

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

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