Java CharsetDecoder Exception
внезапно пришлось работать с байтовыми потоками и т.п. на джаве и тут понеслось...
в данном случае мне нужно представить ByteBuffer в виде строки, в качестве дебага заполняю буфер массивом байт, полученного из хекс строки о_О Код:
byte[] bytedata = hexStringToByteArray(hexdata); Код:
public static String bb_to_str(ByteBuffer buffer){ строка Код:
String hexdata = "3b2e000000071d535441543a4465616c65645461736b3d313a313a313a3231303a3231300373707a0767616d656462643b280000000717535441543a506f6c6c3d313a313a313a3136323a3136320373707a0767616d656462643b2b000000071a535441543a50726f746f636f6c733d383a313a313a34303a34370373707a0767616d656462643b30000000071f535441543a5461736b517565756553697a653d323a303a303a3231303a31370373707a0767616d65646264"; Код:
String hexdata = "3e2e000000061f474d3ab7fecef1c6f7315b7461673a315dbdbbd2d7bfaab9d8ceaa284f6e290373707a0567616d65643e2e000000061f474d3ab7fecef1c6f7315b7461673a315dc5c4c2f4bfaab9d8ceaa284f6e290373707a0567616d65643e2e000000061f474d3ab7fecef1c6f7315b7461673a315dd3cabcfebfaab9d8ceaa284f6e290373707a0567616d65643e2e000000061f474d3ab7fecef1c6f7315b7461673a315db0efc5c9bfaab9d8ceaa284f6e290373707a0567616d6564"; Код:
java.nio.charset.MalformedInputException: Input length = 1 |
Re: Java CharsetDecoder Exception
Понимаете - декодер чтото ожидает. Знач не полные байты. Знакомое. Оно и не читалось
|
Re: Java CharsetDecoder Exception
фишка в том, что на пхп я этот хекс разбираю без проблем >_>
структура второй строки аналогична структуре первой - длина строки, строка, длина и т.п. брал хекс из tcpdump. может есть другие способы байтбуфер в строку перегнать? |
Re: Java CharsetDecoder Exception
Код:
byte[] bytedata = new BigInteger(hexdata, 16).toByteArray(); |
Re: Java CharsetDecoder Exception
да, так ошибок не вылетает =) благодарю
|
Текущее время: 14:21. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot