Как вы генерируете UUID типа long (64 бита - для использования Java-программой) с использованием Python?
Я читал о UUID модуле . Поэтому я немного поиграл с этим:
>>> import uuid
>>> uuid.uuid1().int
315596929882403038588122750660996915734L
Почему в конце целого числа, сгенерированного uuid.uuid1 (). Int, стоит " L "? Если это целое число, не должно ли оно состоять из чистых чисел?
Также, согласно документации, uuid.uuid1 (). Int сгенерирует 128-битное целое число. Мне нужно целое число типа long (для Java-программы), это означало бы, что оно должно быть 64 бит. Можно ли сгенерировать UUID из 64 бит вместо 128 бит?
Другая проблема заключается в том, что согласно Python doc значение Python int составляет 32 бита, тогда как длина Python имеет " неограниченную точность ". Что означает « неограниченная точность »? Мне нужен int длиной 64 бита - какой это будет тип Python?
EDIT:
Спасибо за все ответы. Похоже, UUID по определению 128 бит. В этом случае я, вероятно, не должен использовать термин UUID. Я хочу создать уникальный идентификатор типа long (64 бита) . Я думал, что UUID сделает эту работу, но похоже, что не может.
Мне нужен этот идентификатор в качестве идентификатора документа для поисковой системы Solr. Я использую плагин Solr для индексирования в реальном времени Zoie . И согласно документации, " Зои предполагает, что каждая индексируемая запись должна иметь уникальный ключ и типа long . "
Итак, учитывая, что это то, что мне нужно, вы знаете, что я могу сделать, чтобы сгенерировать уникальный идентификатор типа long?
Спасибо!