关于十六进制字符

在github上看到一段代码如下:

def generateKey():
    import uuid
    import sys
    from binascii import unhexlify as unhex
    if sys.platform == 'win32':
        mac = _ipconfig_getnode()
    else:
        mac = _ifconfig_getnode()
    if mac == None:
        mac = hex(_random_getnode())[2:-1]
    ud = uuid.uuid1()
    ud = ud.hex
    hi_time = ud[12:16]
    key = hi_time + mac
    return unhex(key)

其中hi_time = ud[12:16]不理解,并且在python3 上无法通过编译
求指点,谢谢

阅读 2.2k
1 个回答

python3

>>> import uuid
>>> ud = uuid.uuid1()
>>> ud.hex
'093d15b0a52511e6b3de00e04c08a149'
>>> ud
UUID('093d15b0-a525-11e6-b3de-00e04c08a149')
>>> ud.hex[12:16]
'11e6'
>>> ud.time_hi_version
4582
>>> hex(ud.time_hi_version)
'0x11e6'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题