将二进制数分成五位一组 [英] Slice a binary number into groups of five digits

查看:29
本文介绍了将二进制数分成五位一组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在python中将二进制数分成五位一组有什么巧妙的技巧吗?

‘00010100011011101101110100010111’=>[‘00010’,‘00110’,‘10111’,.]

编辑: 我想编写一个密码/编码器,以便生成"容易通过电话读取"的令牌。标准base32编码有以下缺点:

  • 可能会生成意外的f*字
  • 使用容易混淆的字符,如‘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']

这篇关于将二进制数分成五位一组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆