python - 如何从python中的十六进制字符串中获取最后两个字节
问题描述
我有输出 = ( b'\x00\x01\x00\x00\x00\x07\x03\x04\x04\x00\x00\x07\xd0')。我想得到最后两个字节(07d0)。之后,我必须将它们转换为十进制。
解决方案
int.from_bytes
可以将任意数量的字节转换为整数,但您必须知道要转换 little-endian 还是 big-endian:
>>> output = b'\x00\x01\x00\x00\x00\x07\x03\x04\x04\x00\x00\x07\xd0'
>>> output[-2:] # start 2 bytes from the end and grab until end
b'\x07\xd0'
>>> int.from_bytes(output[-2:],'little')
53255
>>> int.from_bytes(output[-2:],'big')
2000
>>> hex(int.from_bytes(output[-2:],'little'))
'0xd007'
>>> hex(int.from_bytes(output[-2:],'big'))
'0x7d0'
推荐阅读
- c++ - OpenSSL RSA 加密返回乱码。C++
- python - OSError:[WinError 126] 在 python 中导入库时
- c - 如何在 Linux 内核模块中设置字符设备的模式?
- r - 错误:在标准或给定位置找不到 proj_api.h
- docker - AWS Fargate - CannotPullContainerError?
- c# - 使用 C# 应用程序(Windows 窗体)和 opccomrcw.dll 连接到 KEPSERVER
- python - Pandas 的班级假期不管理闰年 -> ValueError
- node.js - 如何将前端连接到 K8S 中的后端?
- coldfusion-2018 - 文件未上传到 tmp 目录
- javascript - 根据属性查找 Postman 子对象