我有一个 18 字符的字符串,我需要将其转换为唯一的长字符串(在 Java 中)。 示例字符串为:AAA2aNAAAAAAAADnAAA
我的String实际上是一个Oracle ROWID,所以如果需要可以分解,看: http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#CNCPT713
生成的 long 数,(1) 必须是唯一的,因为没有两个结果可以指向同一数据库行,并且 (2) 必须是可逆的,这样我才能从 long 中取回 ROWID 字符串?
欢迎就算法使用提出任何建议。
几年前的 Oracle 论坛问题:http://forums.oracle.com/forums/thread.jspa?messageID=1059740
罗
最佳答案
根据这些要求,你不能。
18 个字符(假设)大小写字母有 5618 或大约 2.93348915 × 10331 组合。这比 64 位中可用的大约 1.84467441 × 1019 组合多(方式)。
更新:我的组合学错了,呵呵。但结果相同。
关于java - 如何将 18 个字符的字符串转换为唯一 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1797611/