python - Python中fromhex格式的解释
问题描述
我正在查看具有这样一行的 Python 代码:
the_text = bytearray.fromhex('{:0256x}'.format(random.getrandbits(16*8)))
有人可以解释一下右手的表达方式吗?我认为它应该生成一些随机数据,但是怎么{:0256x}
办?
解决方案
该{:0256x}
部分由.format()
方法解释。
它被传递给的参数的值替换.format()
,并且:0256x
告诉格式取一个数值并将其表示为十六进制,至少使用 256 个位置。
例如f'{100:02x}'
将打印为64
. f'{100:04x}'
作为0064
. f'{100:01x}'
仍会打印为64
,因为它不适合单个数字的十六进制。
在您的情况下,无论random.getrandbits(16*8)
结果如何,都将转换为(至少)256 个字符的十六进制表示,.fromhex()
然后转换为字节数组。它永远不会更多,因为random.getrandbits(16*8)
只会生成可以使用 256 位十六进制显示的值。
推荐阅读
- python-2.7 - Python中的空独立列平均计算
- vb.net - 无法以编程方式最小化窗口
- unity3d - 删除对象后的 MissingReferenceException
- openxml - 使用 C# 创建 OpenXML 表
- javascript - 自动或在页面加载时打开远程模态
- neo4j - 如何使用 GRANDstack 基于边缘的属性进行过滤
- laravel - Route::resource clean /public 来自 URL
- angular - 角度 MatTableDataSource 错误
- entity-framework - Linq to SQL 如何编写“不在”查询
- angular - 如何让 Stackblitz angular 6.0.6 找到“primeng”模块?(primeng 6.0.0 添加为依赖项)