gpt4 book ai didi

Java UUID 压缩和解压缩

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:41:03 25 4
gpt4 key购买 nike

我想做以下...

a) 将生成的 UUID 压缩为长度为 8 的字符串。

b) 将压缩后的UUID解压回原来的UUID。

原因是因为我必须将 UUID 发送到合作系统,而合作系统只接受 8 个字符的 UUID,不,我不能请求更改合作系统。

因此,剩下要做的是将我必须的 UUID 压缩为 8 个字符的字符串,然后在从合作系统返回消息时将其解压缩回原始 UUID。

有什么想法吗?

谢谢。

最佳答案

由于信息论的原因,您的要求是不可能的。

UUID 由 RFC 4122 指定是 128 位,UUID objects in Java 也是.

Java String 可以为每个字符存储 16 位,这构成一个 8-char 字符串。但是,并非所有位序列都是有效的 UTF-16 字符串,因此在 8 个字符中,您可以存储少于 128 位的信息。

因此,如果将 UUID 压缩为有效的 8 字符字符串,就会丢失信息,因此通常无法解压缩它以取回原始 UUID。

您可能想要生成一个较短的字符串以用作唯一标识符。如果是这样,请参阅 Generating 8-character only UUIDs .

关于Java UUID 压缩和解压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11822004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com