python - 将二进制数分成五位数字组

标签 python slice

在 python 中是否有任何巧妙的技巧可以将二进制数分成五位数字的组?

'00010100011011101101110100010111' => ['00010', '00110', '10111', ... ]

编辑: 我想编写一个密码/编码器以生成“易于通过电话阅读”的 token 。标准的base32编码有以下缺点:

  • 可能会产生意外的脏话
  • 使用容易混淆的字符,例如“I”、“L”、“O”(可能与 0 和 1 混淆)
  • 易于猜测的序列(“AAAA”、“AAAB”、...)

我能够用 20 行 python 编写自己的代码,谢谢大家。我的编码器遗漏了“I”、“L”、“O”和“U”,结果序列很难猜到。

最佳答案

>>> a='00010100011011101101110100010111'
>>> [a[i:i+5] for i in range(0, len(a), 5)]
['00010', '10001', '10111', '01101', '11010', '00101', '11']

关于python - 将二进制数分成五位数字组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4028313/

相关文章:

python - 带双端队列的冒号运算符(Python 中)

python - numpy中的不规则切片

arrays - slice 内的数组

python - 从另一个数组中定义的(图像)数组中提取多个窗口/补丁

python - 如何在 Python 中使用锁来保护对象?

python - 我想在我的第一个 python 环境中从第二个 python 环境调用函数。这可能吗?

python - Pygame 已经安装;但是,python 终端说 "No module named ' pygame'"(Ubuntu 20.04.1)

python - 如何使用 Scipy 从 3D 体积中提取任意 2D 切片?

python - Numpy数组切片转置内部数据

Python 字符串分割