Python新手必读:掌握bytearray对象的使用技巧

python:二进制序列类型 --- bytes, bytearray python:二进制序列类型 --- bytes, bytearray, memoryview 阅读详情

Python中的bytearray是一个可变序列,通常用于存储二进制数据。它允许在不创建新的对象的情况下就地修改数据,非常适用于处理字节数据。

本文将深入学习bytearray对象的使用,包括创建、修改、切片和常见应用场景。

1. 引言

了解bytearray

bytearray是Python中的一个内置数据类型,它类似于bytes对象,但具有可变性。这意味着可以在不创建新对象的情况下就地修改bytearray的内容。它通常用于存储和处理二进制数据,例如图像、音频和网络数据。

2. 创建bytearray

从字符串创建

可以使用encode方法将字符串转换为bytearray对象:

text = "Hello, Python"
byte_array = bytearray(text.encode("utf-8"))

从bytes创建

如果已经有一个bytes对象,可以直接将其转换为bytearray:

data = b'\x48\x65\x6c\x6c\x6f'  # 这是"Hello"的字节表示
byte_array = bytearray(data)

初始化空的bytearray

还可以创建一个空的bytearray,然后逐步添加数据:

byte_array = bytearray()
byte_array.append(72)  # 添加字节'H'
byte_array.append(101)  # 添加字节'e'
# 继续添加其他字节...

3. bytearray的常见操作

修改元素

bytearray对象支持元素的就地修改:

byte_array[0] = 87  # 将第一个字节修改为'W'

添加元素

可以使用append方法向bytearray添加新的元素:

byte_array.append(44)  # 添加逗号','

删除元素

使用pop方法可以删除并返回bytearray的最后一个元素:

last_byte = byte_array.pop()

4. 切片和索引

访问和修改元素

可以使用索引来访问bytearray中的元素,并使用切片来访问多个元素:

byte_array[1]  # 访问第二个字节
byte_array[1:4]  # 获取第二到第四个字节的切片

字符编码与解码

bytearray可以通过decode方法将其内容解码为字符串,也可以使用encode方法将字符串编码为bytearray:

byte_array.decode("utf-8")  # 解码为字符串
text = "Python"
byte_array = bytearray(text.encode("utf-8"))  # 编码为bytearray

5. 常见应用场景

文件处理

bytearray在文件读写和处理二进制文件时非常有用,例如图像处理、音频处理和压缩文件操作。

with open("image.jpg", "rb") as file:
    image_data = bytearray(file.read())
# 可以在bytearray中修改图像数据

网络通信

在网络通信中,bytearray用于处理网络数据包,构建自定义协议和解析数据。

data_received = bytearray(receive_data())
# 处理接收的数据

数据解析

bytearray还用于解析二进制数据,如处理二进制文件格式、解析传感器数据等。

sensor_data = bytearray(receive_sensor_data())
# 解析传感器数据

6. 性能考虑

与bytes的比较

与不可变的bytes相比,bytearray在频繁修改数据时更高效。然而,bytearray的内存消耗更大,因为它需要存储额外的信息来支持可变性。

与列表的比较

与Python的列表(list)相比,bytearray更适合存储二进制数据,因为它具有与bytes对象相似的二进制特性。如果需要处理非二进制数据,使用列表可能更合适。

7. 总结

本文介绍了Python中的bytearray对象,这是一个强大的数据类型,特别适用于处理二进制数据。首先学习了如何创建bytearray对象,无论是从字符串、bytes还是空对象开始,都可以满足不同的需求。接着,了解了bytearray对象的常见操作,包括元素的修改、添加和删除,这使得在处理二进制数据时更加灵活。

还学习了bytearray对象的切片和索引,能够访问和修改特定位置的字节数据,以及如何进行字符编码和解码操作。此外,还有bytearray在常见应用场景中的用途,包括文件处理、网络通信和数据解析,展示了它的多功能性。

最后,比较了bytearray与不可变的bytes对象以及Python的列表之间的性能差异。总而言之,bytearray是一个强大的工具,可以让你更有效地处理和修改二进制数据,特别适用于图像、音频和网络通信等领域。


Python学习路线

Python基础知识.png

---------------------------END---------------------------

题外话

感谢你能看到最后,给大家准备了一些福利!

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。


👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img

二、Python兼职渠道推荐*

学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
在这里插入图片描述

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

Python 之 bytes/bytearray 的深入浅出 Python 之 bytes/bytearray 的深入浅出1、前言1.1 Python3 引入两个新类型1.2 ASCII1.3 字符串与`bytes bytearray`1.4 编码与解码2、`bytes`2.1 语法2.2 `bytes`操作3、`bytearray`3.1 语法3.2 `bytearray`生成3.3 `bytearray`操作4、整型`int`和字节`bytes`4.1 常见转换方法4.2 示例5、字节序5.1 概念5.2 示例 1、前言 1.1 Python3 引入两个新类型 阅读详情

相关推荐

Apache Hop集成Spring Boot实战:从配置到执行HPL文件

本文详细介绍了将Apache Hop集成到Spring Boot应用中的完整实战方案。通过配置核心依赖、初始化Hop环境、编写服务层逻辑,实现了在Java应用中程序化执行HPL管道文件,从而将可视化ETL能力无缝嵌入微服务架构,提升数据处理的自动化与可维护性。

blue42的博客 477

Python基础:bytes 与 bytearray 数据类型使用教程

bytes 与 bytearray 也是python非常重要的内置类型。举例,json数据其实也是bytes类型,pickle 序列化就是将对象转为bytes类型。网络通信传输数据之前,都要将数据转换为bytes类型,特别是中文在网络传输时,由于不明其里,常常遇到编码解码问题。本文将介绍bytes类型的创建与操作,与其它类型的转换,字符串编码解码的使用方式,bytearray的创建与操作。还分析了URL请求参数中文乱码问题的原因与解决方案. 最后介绍了 memoryview内存视图的使用

Python技术探索 1万+

捷联惯导总结--初始对准,位置标定,INS姿态更新,GPS/INS组合

惯导及组合导航回顾  2018.09.16 今天和17系的同学一起把惯导的流程捋了一遍,为了加深自己的记忆,这里在前面把心得大致列出来。 我们这里只考虑捷联式惯导及松组合 首先拿到惯性传感器(加速度计和陀螺仪)需要对其进行标定,是为了求出零偏,比例因子,交轴耦合这些误差。这些误差有的虽然在出厂时会给出,但是考虑到实际环境不同,还是要做标定。一般采用的是六位置旋转法,针对加速度计和陀螺仪同时...

赤豆几维 5万+

⭐️Python内置函数bytearray()详解 基本用法 整数序列字节串字符串创建 特性与方法 可变性 转换 性能考虑 示例 进行位操作 处理网络数据 兼容性注意事项——《跟老吕学Python》

是 Python 的一个内置函数,用于创建一个可变字节序列。与bytes类型不同,bytearray对象的内容是可以修改的。它主要用于在需要字节级别的数据操作时,提供一种更灵活、可变的存储方式。bytearray() 是 Python 中一个强大的内置函数,它允许你创建可变字节序列。与 bytes 类型相比,bytearray 提供了更多的灵活性和可修改性,这使得它在需要动态修改字节序列的场合特别有用。

Python老吕的博客 7384

51单片机超声波测距数码管显示并报警(Proteus 仿真)

HC-SR04超声波 实物图 使用方法 1、给TRIG端口至少10us 的高电平信号 2、模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回 3、有信号返回,ECHO端口会输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间 计算的话这里就不考虑温度的影响直接用声速340m/s Proteus仿真 HC-SR04可以用Proteus中的SRF04代替 下面附上代码 ...

m0_46254883的博客 1万+

BlenderGis安装碰到问题,ImageIO、无法点击和地图不加载

BlenderGis安装碰到问题,ImageIO、无法点击和地图不加载问题

qq_45176349的博客 4968

Python: bytes、bytearray 详解

文章目录写在开头的话Python: bytes、bytearray00. 概述01.bytes定义02. bytes操作03. bytearray定义04. bytearray操作05. 进制转化5.1 转化为十进制5.2 转化为二进制5.3 转化为八进制5.4 转化为十六进制5.10 十进制转化为其他进制6. 类型转换写在最后的话: 这里是一段防爬虫文本,请读者忽略。 本文原创首发于优快云,作者IDYS 博客首页:https://blog.youkuaiyun.com/weixin_41633902/ 本文链接:

IDYS'BLOG 6642

大模型微调框架之TRL

近年来,大语言模型(LLMs)的快速发展推动了下游应用的繁荣,但如何高效地对这些模型进行对齐和微调,依然是研究与应用的热点。Hugging Face 开源的 TRL(Transformer Reinforcement Learning) 框架,提供了基于强化学习的语言模型训练方法,并支持 SFT(监督微调)、PPO(近端策略优化)、DPO(直接偏好优化)等多种方式,是目前对齐和微调 LLM 的重要工具。

和大家一起涨芝士 905

python的bytearray对象的使用

python3.x的bytearry也属于字符串类型,与bytes类似,属于字节串,每个字节都是一个整数,范围[0,255],但是bytesarry属于可以原处修改的字节串类型。

sinat_34735632的博客 879

MFC使用Websocket通讯介绍和实例(附完整源码)

踩坑点,下载了好几个boost版本编译,经常出问题,后来搜索了好久资料才发现如下评论:WebSocket++0.8.2 has been tested through Boost 1.72。WebSocketpp依赖于boost,因此在使用WebSocketpp前需要编译Boost;所以我们直接下载Boost 1.72的windows版的进行安装,安装完成还需要编译;WebSocketpp也叫WebSocket++;服务编译好之后,使用。

weixin_42530684的博客 1171

Redhawk: 为什么STA CHECK中switch cell覆盖率为0(STA file中switch control pin没有timing window)?

如题,做dynamic analysis时,不需要switch cell的timing window信息,但是做low power analysis需要做上电时switch cell的timing window就是必须的了,本文对switch cell control pin没有timing window (STA CHECK覆盖率为零)的这种现象做分析。

m0_61544122的博客 1197

python bytearray拼接_python-4-bytes和bytearray

bytes、bytearraypython3引入了两个新类型bytes不可变字节序列可以简单认为字节组成的列表bytearray字节数组可变字节组成的序列,字符串组成序列,有什么差异?字符串以字符为单位字节是以单个字节为单位,网络传输时候,很重要bytes不可变,所以出现了bytearray这种类型字符串拼接,用‘+’效率不是很高,所以要用format,格式化字符串,format做了效率优化。所有...

weixin_39917437的博客 3562

Altium Designer (AD) 设计软件高频面试题及参考答案(3万字长文)

在Altium Designer(AD)中,设计复用是一种关键的策略,它允许设计师在多个项目中重复使用经过验证的设计元素,如原理图符号、PCB布局、元器件封装和设计规则集。在Altium Designer (AD) 中,手动布线和交互式布线是PCB设计中常见的两种布线模式,它们提供了设计师对布线路径的直接控制,特别是在处理复杂或关键信号路径时尤为有用。在Altium Designer (AD) 中进行电路级仿真是一项重要的设计验证步骤,它允许设计师在实际制造之前对电路的行为进行预测和分析。

大模型大数据攻城狮的专栏 4784

Python bytearray()

Python bytearray() function returns a bytearray object that contains the array of bytes from the input source. The bytearray class is mutable, so we can change its element values. Python bytearray()函数...

从零开始的教程世界 1113

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python bytearray 的使用

bytearray 的作用: bytearray方法返回一个新字节数组,就是把一个数组转成bytes,一般socket 传递数据的时候可能会用到,但是自己使用的struct转

小牧在一直在学习,在前进的道路上大家一起学习,进步。 6366

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Python bytearray()函数

描述: bytearray()方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。 语法: class bytearray([source[, encoding[, errors]]]) 参数介绍: 可选的source参数可用于以几种不同的方式初始化数组: 如果它是一个字符串,则还必须提供encoding(或可选的错误)参数;...

全村的希望的博客 4932

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python中的bytes和bytearray的区别

这个类的构造方法接收bytes对象进行初始化,可以使用extgend()方法添加bytes对象到已存在的数组中,也可以修改bytearray中的元素。bytes类型与str一样,是不可变的。对于str.encode()和bytes.decode()可以不传递参数,此时会使用当前平台(终端)默认的编码格式,可以使用sys.getdefaultencoding()来获取默认的编码。bytearray类型类似列表类型,可以使用相同的方法,比如索引的读写,extend(),切片的读写等,不仅可读,也可以写。

2023年最新地推相关信息 1156

Python:bytes、bytearray

bytes、bytearray Python3引入两个新类型 bytes:不可变字节序列 bytearray:字节数组、可变 字符串与bytes 字符串是字符组成的有序序列,字符可以使用编码来理解 bytes是字节组成的有序的不可变序列 bytearray是字节组成的有序的可变序列 编码与解码 字符串按照不同的字符集编码encode返回字节序列bytes encode(encoding='utf-8', errors='strict') -> bytes 字节序列...

二十四桥明月夜 1186

Python 内置函数:bytearray()

bytearray() 是 Python 内置的字节序列构造函数,用于创建可变的字节对象(mutable sequence of bytes)。它与 bytes 类似,但内容可以在原地修改,因此适合需要频繁操作二进制数据的场景,比如文件缓冲区处理、网络数据包修改、加密解密运算等。Python 对不可变对象(如 bytes、str、tuple)可能直接返回已有引用而不分配新内存。bytes / bytearray 对象:通常会创建其可变副本。对 bytearray() 无此优化,每次都会创建新对象。

qq_41176800的博客 1232

python中bytearray函数_python函数之bytearray用法详解

bytearray([source [, encoding [, errors]]])中文说明:bytearray([source [, encoding [, errors]]])返回一个byte数组。Bytearray类型是一个可变的序列,并且序列中的元素的取值范围为 [0 ,255]。参数source:如果source为整数,则返回一个长度为source的初始化数组;如果source为字符串...

weixin_32768455的博客 1201

python中bytes、bytearray

python3中引入两个新类型 bytes:不可变字节序列 byterarray:字节数组,可变 字符串与bytes 字符串是字符组成的有序序列,字符可以使用编 码来理解 bytes是字节组成的有序的不可变序列 bytearray是字节组成的有序的可变的序列 编码与解码 字符串按照不同的字符集来编码encode返回字节序列 encode(encoding=encoding=‘utf8...

都枯槐的博客 6350

python bytearray

1、概念: bytes为字节序列;而bytearray为可变的字节序列,或称为字节数组;它们都是二进制数据组成的序列,取值范围为0~255。 2、bytearray的定义: 定义一个空bytearray,bytearray(): >>> ba = bytearray() >>> ba bytearray(b'') >>> type(b...

Gordennizaicunzai的博客 3237

python中bytearray函数_Python内置函数bytearray()

bytearray([source[, encoding[, errors]]])返回一个根据参数 source 生成的字节数组(bytes)对象,数组里的元素是可以被修改,并且元素的取值范围为 [0, 255]。说明如果可选参数 source 为字符串时,参数 encoding 也必须提供(参数 errors 可选),函数 bytearray() 返回的结果是字符串 source 对应编码 en...

weixin_27510107的博客 2842
上一篇: 手把手教你实现Python重试、超时装饰器
下一篇: 用Python做副业有多爽?副业比主业还赚的体验......
Python_P叔
博客等级 码龄3年 5454粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值