#java #ascii
Добрый день нужно на сервер отправлять данные ф формате 16 речной системы ASCII.К примеру -1 как FFFFFFFF соответсвенно -2 как FFFFFFFE что это за fff-ки?как конверитровать int a =-1 в FFFFFFFF? Спасибо за внимание
Ответы
Ответ 1
Данный вид записи называется дополнительный код. В Java можно получить такую запись стандартными средствами: Integer.toHexString(1); // 1 Integer.toHexString(2); // 2 Integer.toHexString(-1); // ffffffff Integer.toHexString(-2); // fffffffe Если нужно запись положительных чисел дополнить слева нулями до 8 символов, поможет String.format(): String.format("%8s", Integer.toHexString(123)).replace(' ', '0') // 0000007bОтвет 2
Самый простой способ int a =-1; System.out.println(Integer.toHexString(a));Ответ 3
В java так String input = ... // my UTF-16 string StringBuilder sb = new StringBuilder(input.length()); for (int i = 0; i < input.length(); i++) { char ch = input.charAt(i); if (ch <= 0xFF) { sb.append(ch); } } byte[] ascii = sb.toString().getBytes("ISO-8859-1"); // aka LATIN-1
Комментариев нет:
Отправить комментарий