Python2至Python3的bin文件操作变化

Python3有个很大的变化就是严格区分bytes类型与string类型,导致之前python2.7操作文件的小脚本都不能用了,就二进制bin文件常用操作如下:

以下说明均是以‘wb’或者‘rb’格式打开bin文件:

1、[bytes转数字] bin文件读取的内容为bytes类型,bytes转换为单个8位数字处理时,可以这样做:

for c in open_file.read():
	# process c

或者

b = b'\x12\x34'
n = int.from_bytes(b,byteorder='big',signed=False)
#b'\x12\x34'->4660
 
n = 4660
b = n.to_bytes(length=2,byteorder='big',signed=False)
#4660->b'\x12\x34'

这样c便是数值型了

2、[bytes转string] bin文件内容为纯可打印字符时,想读取字符串时,可以这样处理:

   data_string = (open_file.read()).decode("utf-8")

这样data_string便是字符串类型了

3、[数字转bytes] 如果想要向文件写入0x00,0x20,0x50这样的比特流数据时,可以这样做:

   output_file.write(bytes([0x0,0x20,0x50]))

4 、 [数字转string字符]

chr(97)
>>>'a'

5、[string 转 bytes] 如果想要向文件写"hello world!\r\n"这样的字符串流时,可以这样做:

   s = "hello world!\r\n"
   output_file.write(s.encode(encoding='UTF-8'))

6、[string字符转数字]

ord('a')
>>>97

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值