python - 将 python int 存储为 Hbase 的 byte[] 数组
问题描述
我有一个像 215666 这样的 Python int,我需要将它存储在 hbase 的字节数组中。215666 的十六进制值是 34A72 我应该有以下
\x00\x00\x00\x00\x34\x0A72
我尝试了以下方法:
(215666).to_bytes(8, byteorder='big')
这给了我不是十六进制的字符:
\x00\x00\x00\x00\x00\x00T>
此方法似乎适用于较小的数字,但随后开始打印奇怪的非十六进制值。我很确定 hbase 需要 HEX 值,但欢迎对此的所有输入。
任何帮助表示赞赏
解决方案
尝试这个:
(215666).to_bytes(8, byteorder='big').hex()
它不一定是十六进制才能有效bytes
。如果您希望它采用您正在谈论的十六进制格式,则该bytes
对象具有此hex
方法,该方法将其格式化为十六进制。
如果您有兴趣,这是我找到的方法hex
。
- 我打开了一个 python shell
- 我复制了您的行并将其分配给一个名为的变量
foo
:
foo = (215666).to_bytes(8, byteorder='big')
- 我查看了以下类型
foo
:type(foo)
- 我查看了 : 上的方法/
foo
属性dir(foo)
。我可以看到它是一个bytes
对象,并且我看到了hex
方法,所以我尝试了它。
推荐阅读
- delphi - 如何在 TMemo 的左侧绘制一条看起来像排水沟的彩色线
- ssl - Smack:服务器需要 SSL/TLS,但在客户端禁用
- php - 从 const 获取数组的数组项的未定义偏移量
- python - 在 tiff 文件中写入附加图像而不擦除现有图像
- ansible - 串行模式下如何解决AnsibleUndefinedVariable
- vba - 激活方法成功时选择方法失败!!!很奇怪
- loops - 是否可以在 openscads quicksort() 中使用循环结果
- javascript - 使用 $.each 限制实时搜索 json 数据中的行数
- php - 我有sql自定义执行方法,但是发现错误无缓冲查询
- javascript - NestJS:如何在中间件中获取 ExecutionContext