分割十六进制的最佳方法?

2023-12-11

一般来说,我对十六进制还很陌生,并且我有一个应用程序需要我分割十六进制数。例如,给定数字 0x607F,我需要返回高 (0x60) 或低 (0x7F) 字节。

这是可能的实现,但感觉有点麻烦。在 python 中是否有更标准的方法来做到这一点?

def byte(integer,highlow):
    assert highlow=='high' or highlow=='low'
    if highlow=='high':
        return hex(int(bin(integer)[:-8],2))
    if highlow=='low':
        return hex(int(bin(integer)[-8:],2))

这将高字节和低字节作为元组返回:

def bytes(integer):
    return divmod(integer, 0x100)

例如:

>>> high, low = bytes(0x607F)
>>> hex(high)
'0x60'
>>> hex(low)
'0x7f'

顺便说一句,根据您需要字节的用途以及整数的来源,可能有更好的方法来完成您需要的操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分割十六进制的最佳方法? 的相关文章

随机推荐

  • 检测类型是否是“映射”

    我想使用它们将 C 容器解析为另一个对象 iterator会员类型 迭代器成员类型指向单一类型 向量 队列等 对象的容器将变成类列表对象 迭代器成员类型指向单一类型对象的容器std pair将变成一个类似地图的物体 我试图编写一个成员函数来
  • Polymer,如何等待 core-ajax 完成后再渲染其他元素?

    更新 以下是针对这种情况的文档 条件模板使用 if 属性有条件地创建模板实例 这个应用程序 plnkr co 应执行以下操作 使用 core ajax 组件从数据库获取project location 本例中为JSON 使用 google
  • 如何在 Eclipse 中打印到 textArea 而不是控制台?

    我目前有一个程序 可以以各种方式将文本行打印到屏幕上 例如 System out println 语句 并且 for 循环将数组中的所有元素打印到屏幕上 我现在在一个单独的类中向该程序添加一个 GUI 我的问题是我想将打印到 Eclipse
  • 带坐标的平铺网格

    我正在尝试创建一个可以用 with 或 height 指定的网格 即 10 个框宽 x 20 个高 我已经创建了一个创建网格的脚本 但我想以一种可以以与我的方式不同的宽度和高度创建网格的方式进行制作 它当前创建一个宽度与高度相等的网格 并且
  • CryptoStream 没有像预期那样刷新

    我正在处理的 C NET Framework 4 5 代码应该允许我通过加密流将文本传输到另一个程序 我创建了两个简单的程序来演示我的问题 EncryptionTestA 是服务器 并且应该首先运行 EncryptionTestB 是客户端
  • 使用 Boost gzip_decompressor 解压缩内存中的数据

    我正在尝试使用 Boost 解压缩内存中的二进制数据gzip decompressor From 这个答案 我改编了以下代码 vector
  • 使用 Google 幻灯片中的应用程序脚本将 pageElements 置于前面或后面

    堆叠顺序由它们插入幻灯片的顺序决定 但是 幻灯片中的某些页面元素仍然隐藏 有没有办法使用应用程序脚本更改 Google 幻灯片中对象的顺序 这个解决方法怎么样 我和你经历过同样的情况 当时 我已经使用此解决方法移动了该元素 我认为针对这种情
  • 重新加载不同的表视图单元格后,NSOutlineView 行不再可以通过“Return”键编辑

    我遇到了最奇怪的问题NSOutlineView 一切都在故事板中设置 即大纲视图和两个NSTableCellViews 两个单元格视图基本相同 只有一个显示图标 另一个不显示 我可以通过按开始编辑项目 行 Return键 即NSTextFi
  • Dojo 实习生设置 firefox 配置文件名称

    您好 我正在尝试在环境设置中设置 Firefox 配置文件名称intern配置文件 我已经尝试过 environments browserName firefox firefox profile default firefox profil
  • css z-index 嵌套元素的问题

    我想在 z 平面上订购 3 个 HTML 元素 bank width 200px height 200px background color grey position absolute z index 100 transform tran
  • 表单关闭后从特定上下文运行代码?

    我想在此处创建的表单关闭后在此上下文中运行一些代码 Form1 Form1 new Form1 Form1 Show lt After this closes I want to run code from this context usi
  • 如何以编程方式更改第三台显示器

    当我使用笔记本电脑时 我使用 3 个显示器 笔记本电脑显示屏 第二台显示器 通过 VGA 连接 电视 通过 HDMI 连接 我的显卡不支持 3 个显示器 所以我不断地从 2 个显示器切换到 3 个显示器 当我在计算机上时 我使用第二个显示器
  • 在 Electron 中找不到模块

    我目前正在与 Babylon 一起开发 Electron 我发现这个仓库我基本上将其用作我自己项目的样板 一切都运行良好 直到我尝试添加jquery pep js用于其他需求 我一直犯这个错误 未捕获的错误 找不到模块 jquery pep
  • 如何在 JavaScript 中将麦克风静音

    所以我正在创建一个视频通话网络应用程序 我想在其中打开 关闭麦克风 打开 关闭视频功能 navigator mediaDevices getUserMedia video true audio true then stream gt con
  • 为什么在innerHTML 中使用Array#map 输出中的额外逗号?

    之前的帖子已经提到了如何toString 方法将在映射的每个项目之间放置逗号 并且可以通过使用来解决这个问题join 下面 尝试 2 在显示的对象之间添加了逗号 而尝试 1 则没有 为什么是这样 如何修改尝试 2 使其输出复制尝试 1 va
  • 用户定义类型作为 PostgreSQL 函数中的输入参数

    您好 我正在创建一个用于插入元数据的过程 我创建了类型 并在另一种类型中包含了一种类型 并且在过程中我对其进行迭代以获取值 由于我是 PostgreSQL 的新手 任何人都可以帮助我如何调用该过程 输入参数为类型 Create Type F
  • Netbeans 7.1.2 - 无法添加 glassfish 服务器 3.1.2

    我从下载 glassfish 服务器http glassfish java net downloads 3 1 2 2 final html并单独安装 现在我正在尝试将其添加到 Netbeans 中 但这不起作用 我做了以下步骤 以管理员身
  • 训练神经网络时资源耗尽 - keras

    我有一个包含 65668 个文件的数据集 我使用 Keras 作为 CNN 这些是我的层 embedding layer Embedding len word index 1 EMBEDDING DIM weights embedding
  • 张量流相当于 torch.gather

    我有一个形状张量 16 4096 3 我有另一个形状索引张量 16 32768 3 我正在尝试收集价值观dim 1 这最初是在 pytorch 中使用聚集功能如下所示 a shape 16L 4096L 3L idx shape 16L 3
  • 分割十六进制的最佳方法?

    一般来说 我对十六进制还很陌生 并且我有一个应用程序需要我分割十六进制数 例如 给定数字 0x607F 我需要返回高 0x60 或低 0x7F 字节 这是可能的实现 但感觉有点麻烦 在 python 中是否有更标准的方法来做到这一点 def