Heim >Datenbank >MySQL-Tutorial >Wie kann ich den UUID-Speicher mithilfe der Base64-Kodierung optimieren?

Wie kann ich den UUID-Speicher mithilfe der Base64-Kodierung optimieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-20 09:52:10356Durchsuche

How Can I Optimize UUID Storage Using Base64 Encoding?

Optimierter UUID-Speicher mit Base64

Der ursprüngliche Ansatz, UUIDs in Base64 zu konvertieren und das nachgestellte „==" zu entfernen, führt zu einem 22-Byte-Speicher Zeichenfolge. Obwohl dies eine platzsparende Technik ist, könnte sie möglicherweise die Lesbarkeit und Kompatibilität der UUIDs beeinträchtigen.

Ein robusterer Ansatz beinhaltet die Verwendung einer UUID-Bibliothek, die die Konvertierung von UUIDs in eine kompakte Base64-Darstellung unterstützt. Solche Bibliotheken kodieren die höchst- und niedrigstwertigen Bits der UUID in einen Base64-String ohne unnötige Auffüllungen oder nachgestellte Zeichen. Diese Methode ergibt typischerweise eine Zeichenfolge von etwa 26–30 Zeichen und behält dabei das für Menschen lesbare Format der UUID bei.

Ein Beispiel für eine solche Bibliothek ist Apache Commons Codec, der die folgenden Funktionen bereitstellt:

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

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

private static String uuidFromBase64(String str) {
    Base64 base64 = new Base64(); 
    byte[] bytes = base64.decodeBase64(str);
    ByteBuffer bb = ByteBuffer.wrap(bytes);
    UUID uuid = new UUID(bb.getLong(), bb.getLong());
    return uuid.toString();
}

Mit diesem Ansatz können Sie UUIDs in Base64-Strings mit reduzierter Byteanzahl konvertieren und gleichzeitig ihre Integrität und Kompatibilität beibehalten.

Das obige ist der detaillierte Inhalt vonWie kann ich den UUID-Speicher mithilfe der Base64-Kodierung optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn