我试图从具有十六进制值的压缩文件中读取一些负值:
我知道FF应该是标记 - 但是在python中是否有一个方法可以直接读取值或者我必须自己制作方法?
谢谢!
编辑:这适用于Python 2.6.我的程序从二进制数据中读取,我只是以十六进制显示它以使其更简单.程序一次只读取4个字节,并从这4个字节中获取值.只是其中一些值为负数并显示上述数字.我也希望有人可以解释Python如何将二进制数据解释为值,以便我可以编写反向协议.谢谢!
我从十六进制读取并通过此方法转换为值.
def readtoint(read):
keynumber = read[::-1]
hexoffset=''
for letter in keynumber:
temp=hex(ord(letter))[2:]
if len(temp)==1:
temp="0"+temp
hexoffset += temp
value = int(hexoffset, 16)
return value
Run Code Online (Sandbox Code Playgroud)
它抓取4个字节,反转顺序,然后将十六进制值转换为int值.我上面发布的值已经被反转了.
我有一个长度未知的变量字符串,左侧有重要的字符串,右侧有不重要的东西,由一个空格分隔.如何删除右侧不重要的信息?
我试过了rstrip,但没有成功.
编辑:我将放置需要修复的实际值.
"NPC_tester_contact() ) ntact() "
Run Code Online (Sandbox Code Playgroud)
第一个空间(左边的一个空格)应该包含自己被标记为不重要的所有内容.
编辑:输出应为" NPC_tester_contact()"!
仔细看看我放在上面的绳子.它后面还有很多空格.我认为这是造成打嗝的原因.
我在这里尝试了大多数解决方案,他们要么不做任何事情,要么只生产空白.
repr(s) 给我.
'NPC_me_lvup_event_contact()\x00t()\x00act()\x00act()\x00ntact()\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Run Code Online (Sandbox Code Playgroud)
它应该是" NPC_me_lvup_event_contact()".
谢谢!
也许这是一个更好的问题.有没有办法删除字符串中显示的第一个\ x00十六进制后的所有字符?
出于某种原因,它有时有效,并不总是有效.上面的例子是用Levon发布的方法完成的.
解决方案:问题解决了 这更像是一个空字节而不是一个空格字节.解决方案将是以下任何一种,使用"\ x00"作为标识符而不是"".
谢谢大家!
我有一个程序从一个文件中读取,该文件从该文件中获取4个字节.下面的十六进制应该是0.5浮点数:
00 00 00 3F
Run Code Online (Sandbox Code Playgroud)
我目前有一个显示整数值的方法,并希望将整数从1056964608转换为0.5.这也应该能够处理负浮点数.有人可以向我解释如何在Python 2.6中完成这项工作吗?
我想以2000年1月1日的形式获得日期和时间.我正在制作的程序从存储信息表的压缩文档中读取.程序到达日期时间单元并退出
这应该被解释为Fri Dec 31 15:00:00 UTC 1999,我希望它显示为1/1/2000.我可以使用python中的某种形式的方法吗?我也可以将此信息显示为12/31/1999.如果没有,有人可以解释如何从上面的例子创建这个?
谢谢!
我拆分了一个用分号分隔的很长的字符串,我想知道有多少分割项目?
我记得这与列表有关,python中有一个方法可以告诉你列表中有多少个.我记不起它的方法了.
谢谢!