> 데이터 베이스 > MySQL 튜토리얼 > Base64 인코딩을 사용하여 UUID 저장소를 어떻게 최적화할 수 있습니까?

Base64 인코딩을 사용하여 UUID 저장소를 어떻게 최적화할 수 있습니까?

Barbara Streisand
풀어 주다: 2024-12-20 09:52:10
원래의
379명이 탐색했습니다.

How Can I Optimize UUID Storage Using Base64 Encoding?

Base64를 사용하여 최적화된 UUID 저장소

UUID를 base64로 변환하고 후행 "=="를 제거하는 원래 접근 방식은 22바이트 결과를 가져옵니다. 끈. 이는 공간을 절약하는 기술이지만 잠재적으로 UUID의 가독성과 호환성을 손상시킬 수 있습니다.

보다 강력한 접근 방식은 UUID를 압축된 base64 표현으로 변환하는 것을 지원하는 UUID 라이브러리를 사용하는 것입니다. 이러한 라이브러리는 불필요한 패딩이나 후행 문자 없이 UUID의 최상위 및 최하위 비트를 base64 문자열로 인코딩합니다. 이 방법은 일반적으로 사람이 읽을 수 있는 UUID 형식을 유지하면서 약 26~30자의 문자열을 생성합니다.

이러한 라이브러리의 예로는 다음 기능을 제공하는 Apache Commons Codec이 있습니다.

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();
}
로그인 후 복사

이 접근 방식을 사용하면 무결성과 호환성을 유지하면서 바이트 수를 줄인 UUID를 base64 문자열로 변환할 수 있습니다.

위 내용은 Base64 인코딩을 사용하여 UUID 저장소를 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿