2015-12-30 4 views
1

Я хотел бы спросить, есть ли уже стандартная библиотека Java, который реализует следующие две вещи:Стандартная Java библиотека для преобразования порядка байтов примитивных типов + UUID

  1. преобразования между бесконечностью стандартных Java примитивных типов + UUID.
  2. конвертирование без потерь между стандартными примитивами Java и без знака. Без потерь я имею в виду, например, что преобразование из подписанного short в unsigned short, тогда результат может быть подписан Integer.

Если такое существует, то каково имя этой библиотеки.

ответ

1

Вы можете использовать ByteSwapper здесь: http://www.java2s.com/Code/Java/Language-Basics/Utilityforbyteswappingofalljavadatatypes.htm.

Или же используйте ByteBuffer и указать порядок следования байтов с порядком(), как описано здесь: https://stackoverflow.com/a/14827440/1067124 (скопированный ниже)

С java.nio.ByteBuffer Вы можете указать порядок байтов вы хотите: order().

ByteBuffer имеет методы для извлечения данных, как байты, полукокс, getShort(), getInt(), длинных, двойные ...

Вот пример того, как использовать его:

ByteBuffer bb = ByteBuffer.wrap(byteArray); 
bb.order(ByteOrder.LITTLE_ENDIAN); 
while(bb.hasRemaining()) { 
    short v = bb.getShort(); 
    /* Do something with v... */ 
} 
+0

большого спасибо, в основном с ByteBuffer вы можете все это сделать. :) – Tito

+0

Добро пожаловать @ Тито. Пожалуйста, отметьте ответ Принято, если это вам помогло :) –

Смежные вопросы