집 >데이터 베이스 >MySQL 튜토리얼 >Base64 인코딩을 사용하여 UUID 저장소를 어떻게 최적화할 수 있습니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!