feat: 实现 Python 与 Java SDK 连接收发及其余接口
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
"""UUIDv7(36 字符形式),兼容 Python 3.10。"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import time
|
||||
import uuid
|
||||
|
||||
|
||||
def new_uuid7() -> str:
|
||||
if hasattr(uuid, "uuid7"):
|
||||
return str(uuid.uuid7()) # type: ignore[attr-defined]
|
||||
# RFC 9562 简化实现
|
||||
ts_ms = int(time.time() * 1000) & ((1 << 48) - 1)
|
||||
rand_a = int.from_bytes(os.urandom(2), "big") & 0x0FFF
|
||||
rand_b = int.from_bytes(os.urandom(8), "big") & ((1 << 62) - 1)
|
||||
value = (ts_ms << 80) | (0x7 << 76) | (rand_a << 64) | (0b10 << 62) | rand_b
|
||||
return str(uuid.UUID(int=value))
|
||||
Reference in New Issue
Block a user