【问题标题】:Convert Base64 encoded bytes to Int将 Base64 编码字节转换为 Int
【发布时间】:2020-07-25 09:11:26
【问题描述】:

所以基本上,我生成 16 个随机字节,然后将它们转换为 Base64。我需要将此 Base64 转换为 Int。 我在整个互联网上进行了搜索,我发现了如何转换为十六进制,还有许多其他的,但似乎都没有。 这是我用来生成随机数的代码:

import base64
nonce = base64.encodebytes(os.urandom(16))

我需要一个有点像 JavaScript 中的 parseInt() 的函数。结果需要介于 -9223372036854775808 和 9223372036854775807 之间。

【问题讨论】:

  • 你能举一个例子,如果它是用 JavaScript 编写的,你将如何在这段代码中使用 parseInt()?我想知道您期望什么输入和输出

标签: python base64 nonce


【解决方案1】:

有一个内置方法可以将字节转换为 int:

int.from_bytes(nonce, "big")  # big endian
int.from_bytes(nonce, "little")  # little endian

Python 文档:https://docs.python.org/3/library/stdtypes.html#int.from_bytes

【讨论】:

  • 我认为这项工作,它会生成一个 Int。什么是“字节序”?以及为什么要加一个“。”在每个函数的末尾?
  • 我的错!不知何故,句号被添加到了不应该存在的末尾。字节序决定字节在内存中的存储方式:en.wikipedia.org/wiki/Endianness
  • 这实际上不起作用,它起作用但不是我想要的工作方式......我会更新我的问题
猜你喜欢
  • 2018-08-05
  • 2020-10-26
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-04
  • 2016-02-20
相关资源
最近更新 更多