Con*_*ion 2 python java uuid guid long-integer
如何使用Python生成long类型的UUID(64位 - 由java程序使用)?
我读到了 UUID模块.所以我玩了一下:
>>> import uuid
>>> uuid.uuid1().int
315596929882403038588122750660996915734L
Run Code Online (Sandbox Code Playgroud)
为什么uuid.uuid1().int生成的整数末尾有一个" L "?如果它是一个整数,它不应该由纯数组成吗?
另外根据文档uuid.uuid1().int将生成一个128位整数.我需要一个long类型的整数(对于java程序),这意味着它需要是64位.是否可以生成64位而不是128位的UUID?
另一个问题是,根据Python文档,Python int是32位,而Python long具有" 无限精度"." 无限精度 "是什么意思?我需要一个64位长的int - 这将是什么类型的Python?
编辑: 感谢大家的回复.看起来UUID的定义是128位.在那种情况下,我可能不应该使用术语UUID.我想要做的是生成一个长(64位)类型的唯一ID.我以为UUID会做这个工作,但看起来不行.
我需要该ID作为Solr搜索引擎的文档ID.我正在使用实时索引Solr插件Zoie.根据文档," Zoie假设每个要编入索引的记录必须具有唯一的密钥和类型为long的记录. "
所以鉴于这就是我需要的,你知道我能做些什么来生成long类型的唯一ID吗?
谢谢!
的L,它是一个长整型值(大于32位)表示.
标准UUID总是128位; 如果你想要只有64位的东西,你需要只使用UUID的子部分,或者使用UUID以外的东西.