Перейти к основному содержимому

Преобразование между байтовым массивом и UUID в Java

· 1 мин. чтения

1. Обзор

В этом кратком руководстве мы увидим, как преобразовать массив байтов в UUID в Java.

2. Преобразование UUID в байтовый массив

Мы можем легко преобразовать UUID в массив байтов в простой Java:

public static byte[] convertUUIDToBytes(UUID uuid) {
ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
bb.putLong(uuid.getMostSignificantBits());
bb.putLong(uuid.getLeastSignificantBits());
return bb.array();
}

3. Преобразование массива байтов в UUID

Преобразование массива байтов в UUID так же просто:

public static UUID convertBytesToUUID(byte[] bytes) {
ByteBuffer byteBuffer = ByteBuffer.wrap(bytes);
long high = byteBuffer.getLong();
long low = byteBuffer.getLong();
return new UUID(high, low);
}

4. Проверьте наши методы

Проверим наши методы:

UUID uuid = UUID.randomUUID();
System.out.println("Original UUID: " + uuid);

byte[] bytes = convertUUIDToBytes(uuid);
System.out.println("Converted byte array: " + Arrays.toString(bytes));

UUID uuidNew = convertBytesToUUID(bytes);
System.out.println("Converted UUID: " + uuidNew);

Результат будет выглядеть примерно так:

Original UUID: bd9c7f32-8010-4cfe-97c0-82371e3276fa
Converted byte array: [-67, -100, 127, 50, -128, 16, 76, -2, -105, -64, -126, 55, 30, 50, 118, -6]
Converted UUID: bd9c7f32-8010-4cfe-97c0-82371e3276fa

5. Вывод

В этом кратком руководстве мы узнали, как преобразовать массив байтов в UUID в Java.

Как всегда, пример кода из этой статьи можно найти на GitHub .