Rumah >pangkalan data >tutorial mysql >Adakah Pengekodan Base64 Kaedah Cekap untuk Penyimpanan UUID Padat?

Adakah Pengekodan Base64 Kaedah Cekap untuk Penyimpanan UUID Padat?

Patricia Arquette
Patricia Arquetteasal
2024-12-27 09:00:17362semak imbas

Is Base64 Encoding an Efficient Method for Compact UUID Storage?

Pengekodan Base64 untuk Storan UUID Padat

Soalan:

Adakah terdapat sebarang masalah dengan penyimpanan UUID sebagai rentetan base64 dengan mengekori aksara "==" dialih keluar untuk meminimumkan ruang?

Jawapan:

Pengekodan Base64 boleh meminimumkan saiz UUID dengan berkesan sambil mengekalkan kebolehbacaan. Walau bagaimanapun, adalah penting untuk menyahkod rentetan dengan betul untuk memulihkan UUID asal.

Berikut ialah pelaksanaan praktikal dalam 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();
    }
}

Penggunaan:

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));

Pendekatan ini menghilangkan padding "==" yang mengekori untuk menghasilkan rentetan 22 aksara padat yang boleh dinyahkodkan dengan mudah kembali kepada UUID asal.

Atas ialah kandungan terperinci Adakah Pengekodan Base64 Kaedah Cekap untuk Penyimpanan UUID Padat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn