Python之字节

242 篇文章 11 订阅
216 篇文章 2 订阅

1.utf-8编码格式

  • 我们写python程序的时候都是使用utf-8编码格式来存储编码格式,网页里面同样的也声明utf-8即可, utf-8是中文、英文、日文等全球文字都可以使用的编码格式,通用性很强。

2.了解bytes和bytearray

  • bytes和bytearray是Python3中两个新引入的数据类型;
  • bytes是字节组成,有序的,不可变的序列;
  • bytearray和bytes一样,也是字节组成的,也是有序的,但它是可变的序列;

3.如何定义bytes?

bytes() 
bytes(9) 
bytes('hello', encoding='utf-8') # 返回 b'hello' ,等价于:'hello'.encode()
bytes('中国', encoding='utf-8') # 返回 b'\xe4\xb8\xad\xe5\x9b\xbd' 
  • 字符串转为字节有两种方式:指明编码格式encoding=‘utf-8’,或者是用encode方法;
  • 只有基本的ASCII可以使用字符表示,其他的字符,例如中文,则使用十六进制表示;
  • 例如:‘你好’的字节码为:b’\xe4\xbd\xa0\xe5\xa5\xbd’,每个汉字是3个字节组成;

4.bytes操作

print(b'hello'.startswith(b'h'))  #返回 True

print(bytes.fromhex('abcdef'))    #返回 b'\xab\xcd\xef'

print(b'\xab\xcd\xef'.hex())      #返回 abcdef
如果你依然在编程的世界里迷茫,
不知道自己的未来规划,
对python感兴趣,
这里推荐一下我的学习交流圈QQ群:895 797 751,
里面都是学习python的,

  • bytes的方法与str类似,两者都是不可变类型;
  • str输入输出都是str,bytes输入输出都是bytes;

5.bytearray的定义

b = bytearray()

bytearray('hello', encoding='utf-8') 返回 bytearray(b'hello') 

6.bytearray操作

  • 由于bytearray可变,其操作类似于列表,也有增删改查等方法;
  • 使用类似与:b.insert();

7.编码与解码

  • 编码:使用encode方法,返回字节序列bytes;
 str.encode(encoding='utf-8', errors='strict') -> bytes
  • 解码:使用decode方法,返回字符串str;
bytes.decode(encoding="utf-8", errors="strict")-> str
bytearray.decode(encoding="utf-8", errors="strict")-> str 

8.可迭代对象的切片操作

  • 可以通过for循环遍历对象中的元素,就是可迭代对象;
  • 判断一个对象是可迭代对象,首先导入collections模块下的Iterable类型,然后通过isinstance返回boolean值,可迭代返回True,不可迭代返回False;
from collections import Iterable
isinstance('abc', Iterable) 
  • 可迭代对象的切片:类似与数学区间的概念,左边闭区间,右边开区间,且左边一定要小于右边;
print('abcdefg'[1:4]) 返回:bcd
print([1,2,3,4,5][1:3]) 返回 [2, 3] 

# step

print('abcdefg'[1:6:2]) 返回 bdf    #步长为2

如果你依然在编程的世界里迷茫,
不知道自己的未来规划,
对python感兴趣,
这里推荐一下我的学习交流圈QQ群:895 797 751,
里面都是学习python的,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值