首页 > 编程语言 >python笔记

python笔记

时间:2023-06-06 21:15:40浏览次数:67  
标签:bytearray x94 python bytes 笔记 xe7 str print

python官方文档

6.6的代码:

from maix import camera,mjpg,display
import socket

#host_name='192.168.4.1'
shuzu=bytearray(57600)#bytes是不能被修改的

#s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#地址簇 : AF_INET (IPv4)类型: SOCK_STREAM (使用 TCP 传输控制协议)
#s.connect((host_name,3333))

img=camera.capture()
img_2=img.tobytes()
print(shuzu[2])
for i in range(172799):
   if (i%3)==0:
       shuzu[int(i/3)]=img_2[i]

#display.show(img)

#message=input("输入东西:")
#s.send(message.encode())

#uppermassage=s.recv(172800).decode()
print("结果是:")
print(shuzu.hex())
#print(img.tobytes().hex()[2])

#s.close()

#while True:

 

bytes打印成hex

在一些时候,我们会读取一些bytes类型的数据,我们可能想输出的他的16进制,当用print(bytes)的时候,就会直接打印出对应的字符,这不符合要求。看下官方怎么说:

即,对于bytes类型,官方已经给出了相应的操作函数,不需要再写什么循环了。

可以使用print(value.hex())来输出value的16进制数

bytes与bytearray

bytes

>>> type(b'xxxxx')
<class 'bytes'>

>>> type('xxxxx')
<class 'str'>

bytes是byte的序列,而str是unicode的序列。

 

1、str 转换成 bytes 用 encode() 方法:(注意:这有个坑,str1.encode不加括号和加括号是不一样的,自己试试,初学貌似2.0不影响,3.0变了,不加括号开发环境语法不报错)

str = '人生苦短,我用Python!'
bytes = str.encode()
print(bytes)

输出:

b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!'

2、好了,反转换 decode() :

bytes = b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!'
str = bytes.decode()
print(str)

输出:

人生苦短,我用Python!

bytearray

1、bytearray和bytes不一样的地方在于,bytearray是可变的。

str = '人生苦短,我用Python!'
bytes = bytearray(str.encode())
bytes = bytearray(b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!')
str = bytes.decode()
print(str)

输出:

'人生苦短,我用Python!'

2、改变bytearray

bytes[:6] = bytearray('生命'.encode())
bytes = bytearray(b'\xe7\x94\x9f\xe5\x91\xbd\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!')
str = bytes.decode()
print(str)

输出:

生命苦短,我用Python!

 

标签:bytearray,x94,python,bytes,笔记,xe7,str,print
From: https://www.cnblogs.com/recodemo/p/17461702.html

相关文章

  • 构建之法阅读笔记01
    阅读代码大全有感: 在我的软件开发经验中,我经常会写出冗长且难以理解的代码。我认为将所有功能都放在一个函数或者一个类中是最简单的方法,同时也不需要处理代码的复杂性。但是,在读完《代码大全》后,我意识到这种做法会导致代码的可维护性降低,而且使代码的重复性也增加。 根据书......
  • 构建之法阅读笔记02
    人月神话读书有感:在我的软件开发经验中,我曾经认为增加人力就能够加快软件开发速度。但是,我在读完《人月神话》后,意识到这种做法是错误的。根据书中的描述,增加开发人员的数量并不一定能加速软件开发的进度,反而可能会延迟项目的完成时间。这是因为在一个时间节点上,有很多的......
  • python opencv GaussianBlur
    pythonopencvGaussianBlur importcv2#Loadtheimageimg=cv2.imread('20230222100736979.jpg')#ApplyaGaussianblurwithakernelsizeof5x5blur=cv2.GaussianBlur(img,(5,5),0)#Displaytheoriginalandblurredimagessidebysi......
  • 构建之法阅读笔记03
    阅读《人件》有感:在我的学习中,我曾经认为技术才是软件开发中最重要的方面。因此,我在项目学习中更注重了技术层面,而忽视了人性层面。然而,通过阅读《人件》这本书,我意识到这种做法是错误的。根据书中的描述,技术是软件开发中非常重要的一部分,但是人性因素同样重要。充分考虑......
  • Python正则表达式学习(5)——re.findall()
    re.findall(pattern,string,flags=0)返回字符串中模式的所有非重叠匹配,作为字符串列表。字符串从左到右扫描,并按照找到的顺序返回匹配项。如果模式中存在一个或多个组,则返回组的列表;如果模式有多个组,这将是一个元组的列表。结果中包含空匹配,除非他们触及另一个匹配的开始。In[1......
  • Python正则表达式学习(4)——re.match() 和 re.search()
    Python提供了基于正则表达式的两种不同的原始操作:re.match()仅在字符串的开头检查匹配,只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none。re.search()检查字符串中任何位置的匹配例如:In[2]:re.match("c","absdbdfskdvc")In[3]:re.search("c","a......
  • 基于《PythonCookbook》的学习(3)——利用 Shell 通配符做字符串匹配
    fnmatch模块提供了fnmatch()和fnmatchcase()两个函数可以使用通配符模式对文本进行匹配fnmatch所完成的匹配操作有点介乎于加单的字符串方法和全功能的正则表达式之间。感觉蛮鸡肋的…:(......
  • Python正则表达式学习(3)——re.compile()
    re.compile(pattern,flags=0)将正则表达式pattern编译为正则表达式对象,可用于使用其match()和search()方法进行匹配。顺序:prog=re.compile(pattern)result=prog.match(string)等价于:result=re.match(pattern,string)但是当单个程序中的表达式被多次使用时,使用re.comp......
  • 基于《PythonCookbook》的学习(1)——针对任意多的分隔符拆分字符串
    问题:需要将字符串拆分为不同的字段,但是分隔符(以及分隔符之间的空格)在整个字符串中并不一致re.split()方法比str.split()方法更为灵活,可以为分隔符指定多个模式re.split()方法返回一个list目标字符串:In[15]:lineOut[15]:'asdasdsadas,,,,sdfdsfi///ds...ds/essd//s......
  • HttpURLConnection调用webservice,c#、java、python等HTTP调用webservice,简单的webserv
    以前调用webservice一般使用axis、axis2先生成java类后,直接引用,多方便。但是有的webservice接口非常的函数,生成的java类非常多,有没有一种非常简化的方法。axis2有不生成类直接调用的方法,但是QName不容易找,每次查N久不到。有的反馈,使用CXF调用一样方便,但CXF还要使用maven下载jar,而......