首页 > 数据库 > mysql教程 > Base64 编码是紧凑 UUID 存储的有效方法吗?

Base64 编码是紧凑 UUID 存储的有效方法吗?

Patricia Arquette
发布: 2024-12-27 09:00:17
原创
353 人浏览过

Is Base64 Encoding an Efficient Method for Compact UUID Storage?

紧凑 UUID 存储的 Base64 编码

问题:

存储有任何问题吗作为 Base64 字符串的 UUID,删除尾随“==”字符以最小化空格?

答案:

Base64 编码可以有效地最小化 UUID 的大小,同时保持可读性。但是,正确解码字符串以恢复原始 UUID 至关重要。

这是 Java 中的实际实现:

import org.apache.commons.codec.binary.Base64;

public class UUIDBase64 {

    public static String uuidToBase64(String uuid) {
        UUID myUUID = UUID.fromString(uuid);
        ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
        bb.putLong(myUUID.getMostSignificantBits());
        bb.putLong(myUUID.getLeastSignificantBits());
        return new Base64().encodeBase64URLSafeString(bb.array());
    }

    public static String uuidFromBase64(String base64UUID) {
        Base64 base64 = new Base64(); 
        byte[] bytes = base64.decodeBase64(base64UUID);
        ByteBuffer bb = ByteBuffer.wrap(bytes);
        UUID myUUID = new UUID(bb.getLong(), bb.getLong());
        return myUUID.toString();
    }
}
登录后复制

用法:

String uuid = "6fcb514b-b878-4c9d-95b7-8dc3a7ce6fd8";
String base64UUID = UUIDBase64.uuidToBase64(uuid);
System.out.println("Base64 UUID: " + base64UUID);
String decodedUUID = UUIDBase64.uuidFromBase64(base64UUID);
System.out.println("Decoded UUID: " + decodedUUID);
System.out.println("Equal?: " + uuid.equals(decodedUUID));
登录后复制

这种方法删除了尾随的“==”填充,以生成一个紧凑的 22 个字符的字符串,可以轻松解码回原始 UUID。

以上是Base64 编码是紧凑 UUID 存储的有效方法吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板