python - 在python中将负整数转换为支持十六进制的二进制补码
问题描述
我正在尝试对二进制补码 GPS 代码进行逆向工程,其中 GPS 代码是十六进制二进制补码的表示形式。
例如,0xFEA1C83D 是十进制的 -22951875。
使用 Python,如何将 -22951875 转换为 0xFEA1C83D?
解决方案
您可以使用int.to_bytes
和binarray.hexlify
:
import binascii
binascii.hexlify((-22951875).to_bytes(4, byteorder="big", signed=True))
# b'fea1c83d'
推荐阅读
- amazon-web-services - 通过 git bash 将 botium 连接到 lex 的问题
- sql - 在 SQL 或 Pandas 中计算 GROUP BY 之后的类别数
- linux - 构建 Root 时出现错误“找不到 PythonLibs”
- json - 使用 powershell 将 JS 格式的 csv 转换为带分隔符的 CSV
- environment-variables - 如何在 Dispatch 的 .env 文件中配置“JWKS_URL”?
- html - 我将如何创建一个简单的结帐购物车,当我单击按钮时将其放入商品?
- java - 无法在 Java 中获取 .tar 文件中的文件列表
- c++ - MSVC 与 clang/gcc 上的结构字节布局(#pragma pack 行为)不同
- python - pd_get_dummies 仍然产生无法将字符串转换为浮点数:'/organization/crowdpc-inc' 错误
- php - Laravel 复杂条件验证