Heim >Datenbank >MySQL-Tutorial >Ist Base64-Kodierung eine effiziente Methode für die kompakte UUID-Speicherung?
Base64-Kodierung für kompakte UUID-Speicherung
Frage:
Gibt es Probleme beim Speichern? eine UUID als Base64-Zeichenfolge, wobei die nachgestellten „==“-Zeichen zur Minimierung entfernt wurden Platz?
Antwort:
Base64-Kodierung kann die Größe einer UUID effektiv minimieren und gleichzeitig die Lesbarkeit beibehalten. Es ist jedoch wichtig, die Zeichenfolge korrekt zu dekodieren, um die ursprüngliche UUID wiederherzustellen.
Hier ist eine praktische Implementierung in 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(); } }
Verwendung:
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));
Dieser Ansatz entfernt das nachgestellte „=="-Auffüllen, um eine kompakte 22-Zeichen-Zeichenfolge zu erzeugen, die leicht wieder dekodiert werden kann zur ursprünglichen UUID.
Das obige ist der detaillierte Inhalt vonIst Base64-Kodierung eine effiziente Methode für die kompakte UUID-Speicherung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!