注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
Python
» python是如何处理字,双字这种数据类型
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
netdzb
发短消息
加为好友
netdzb
当前离线
UID
84300
帖子
915
精华
0
积分
1223
PB
1214
技术
3
捐助
0
阅读权限
50
在线时间
930 小时
注册时间
2018-1-17
最后登录
2025-4-4
上尉
帖子
915
积分
1223
技术
3
捐助
0
注册时间
2018-1-17
1
楼
跳转到
»
倒序看帖
打印
字体大小:
t
T
发表于 2020-4-13 18:02
|
显示全部帖子
[问题求助]
python是如何处理字,双字这种数据类型
本帖最后由 netdzb 于 2020-4-13 18:05 编辑
比如我有个数据是文件长度,长度在C语言里面是以双字
形式存放的,32位长度。
需要存放到文件的某个偏移处。这个我不会处理。
收藏
分享
netdzb
发短消息
加为好友
netdzb
当前离线
UID
84300
帖子
915
精华
0
积分
1223
PB
1214
技术
3
捐助
0
阅读权限
50
在线时间
930 小时
注册时间
2018-1-17
最后登录
2025-4-4
上尉
帖子
915
积分
1223
技术
3
捐助
0
注册时间
2018-1-17
2
楼
发表于 2020-4-13 18:20
|
显示全部帖子
本帖最后由 netdzb 于 2020-4-13 18:21 编辑
回复
1#
netdzb
这个只能写入字节,不知道该怎么写
import struct
list_dec = [1, 2, 3, 4, 53, 100, 220, 244, 255]
with open('hexBin.bin', 'wb')as fp:
for x in list_dec:
a = struct.pack('B', x)
fp.write(a)
print('done')
TOP
netdzb
发短消息
加为好友
netdzb
当前离线
UID
84300
帖子
915
精华
0
积分
1223
PB
1214
技术
3
捐助
0
阅读权限
50
在线时间
930 小时
注册时间
2018-1-17
最后登录
2025-4-4
上尉
帖子
915
积分
1223
技术
3
捐助
0
注册时间
2018-1-17
3
楼
发表于 2020-4-13 18:48
|
显示全部帖子
本帖最后由 netdzb 于 2020-4-13 18:53 编辑
回复
3#
wujunkai
双字就是4个字节的意思。
一个整数要以4个字节表示,然后再写入文件某个偏移处。
比如上面的100它是用0x64存入的。我要它以为 00 64 00 00
4个字节的表现形式,然后保存到文件的某个偏移处。
TOP
netdzb
发短消息
加为好友
netdzb
当前离线
UID
84300
帖子
915
精华
0
积分
1223
PB
1214
技术
3
捐助
0
阅读权限
50
在线时间
930 小时
注册时间
2018-1-17
最后登录
2025-4-4
上尉
帖子
915
积分
1223
技术
3
捐助
0
注册时间
2018-1-17
4
楼
发表于 2020-4-15 13:42
|
显示全部帖子
回复
3#
wujunkai
\x15\x18\xE7\x16\xA8\x15\x60\x15\xB5\x13\xA8\x14\xFA\x12\x4B\x14\x4D\x13\x42\x13\xAC\x13
\x32\x12\x0A\x13\x94\x11\xE2\x12\xC6\x11\x52\x13\x16\x12\x17\x14\x4C\x12\xCD\x15\x6D\x12
\x19\x18\x90\x11\x23\x1B\x42\x11\xE3\x1E\xD8\x12\x1D\x22\xDB\x13\xEB\x23\x30\x13\x15\x25
\x80\x13\xFB\x24\x82\x14\xC7\x24\x1B\x15\x46\x24\x02\x14\x3A\x22\x9E\x11\xC0\x1F\xA1\x10
\x28\x1D\x54\x10\x87\x1A\xF2\x0E\x2B\x18\x49\x0C\xE9\x15\x9D\x0A\xD4\x13\x47\x0B\xE0\x11
\x3C\x0C
假设这段数据,我把把100赋值到摸个进去,然后写入文件该怎么做?
\x15\x18\xE7\x16\xA8\x15\x60\x15\xB5\x13\xA8\x14\xFA\x12\x4B\x14\x4D\x13\x42\x13\xAC\x13
~~~~~~~~~~~
假设要替换xA8\x15\x60\x15\,100的进制是x00\x00\x00\x64,就是把上面数据替换后再写入文件,该怎么做?
TOP
netdzb
发短消息
加为好友
netdzb
当前离线
UID
84300
帖子
915
精华
0
积分
1223
PB
1214
技术
3
捐助
0
阅读权限
50
在线时间
930 小时
注册时间
2018-1-17
最后登录
2025-4-4
上尉
帖子
915
积分
1223
技术
3
捐助
0
注册时间
2018-1-17
5
楼
发表于 2020-4-15 17:21
|
显示全部帖子
本帖最后由 netdzb 于 2020-4-15 17:22 编辑
回复
6#
wujunkai
我的100换算成 00 00 00 64 这种形式难道,需要自己写函数吗?
python没有4个字节不用转换直接写入的方法吗?
我网络搜索了一圈,发现好像只有1个字节字节的写入。
TOP
netdzb
发短消息
加为好友
netdzb
当前离线
UID
84300
帖子
915
精华
0
积分
1223
PB
1214
技术
3
捐助
0
阅读权限
50
在线时间
930 小时
注册时间
2018-1-17
最后登录
2025-4-4
上尉
帖子
915
积分
1223
技术
3
捐助
0
注册时间
2018-1-17
6
楼
发表于 2020-4-15 17:23
|
显示全部帖子
回复
6#
wujunkai
'\x00\x00\x00\x64',你这步是人人脑在计算,如何搞成用机器算的代码?
TOP
返回列表
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]