在Python中创建UUID时,如下所示:>>> uuid.uuid1()
UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')
如何将UUID映射成一个由大写字母a-Z减去字符D、F、I、O、Q和U,再加上数字,再加上字符“+”和“=”组成的字符串呢。i、 e.从整数或字符串到32个(相对OCR友好)字符集:
^{pr2}$
我将其称为OCRf集(对于OCR友好)。在
我想要一个同构函数:def uuid_to_ocr_friendly_chars(uid)
"""takes uid, an integer, and transposes it into a string made
of the the OCRf set
"""
...
我的第一个想法是完成将uuid更改为base32的过程。e、 gOCRf = "ABCEGHJKLMNPRSTVWXYZ1234567890+="
def uuid_to_ocr_friendly_chars(uid):
ocfstr = ''
while uid > 1:
ocfstr += OCRf[uid % 32]
uid /= 32
return ocfstr
但是,我想知道这个方法是不是最好和最快的转换方法-或者是否有一个更简单和更快的方法(例如,一个内置的,一个更聪明的算法,或者仅仅是一个更好的方法)。在
非常感谢你的意见。谢谢您。在