1. байт до десятичного десятичного
Используйте преобразование типа (int) напрямую.
/** Byte до десятичного значения*/ public static int byte2int (byte b) {int r = (int) b; возврат R; }2. Десятичный для байтов
Непосредственно используйте (байт) преобразование типа.
/** Десятичный до байта*/ public static byte int2byte (int i) {byte r = (byte) i; возврат R; }3. байт массив к шестнадцатеричной струне
Для каждого байта сначала выполните ту же работу с 0xff, а затем используйте функцию Integer.tohexstring (). Если результат составляет всего 1 бит, вам нужно добавить 0 впереди.
/** Байтовая массива к шестнадцатеричной строке*/ public Static String Bytes2Hexstring (byte [] b) {string r = ""; for (int i = 0; i <b.length; i ++) {string hex = integer.tohexstring (b [i] & 0xff); if (hex.length () == 1) {hex = '0' + hex; } r += hex.touppercase (); } return r; }4. шестнадцатеричная строка до массива байтов
Это сложнее. Каждый шестнадцатеричный персонаж составляет 4 бита, а один байт - 8 бит, поэтому два шестнадцатеричных символа преобразуются в 1 байт. Для первого символа преобразуйте его в байт, а затем переключите его на 4 бита, а затем выполните или работайте со вторым байтом символов, чтобы два символа были преобразованы в 1 байт.
/** Символы преобразуются в Byte*/ Private Static Byte Chartobyte (char c) {return (byte) "0123456789abcdef" .indexof (c); } /** Hex String в байтовую массив* / public Static Byte [] hexstring2bytes (String hex) {if ((hex == null) || (hex.equals (""))) {return null; } else if (hex.length ()%2! = 0) {return null; } else {hex = hex.touppercase (); int len = hex.length ()/2; байт [] b = новый байт [len]; char [] hc = hex.tochararray (); for (int i = 0; i <len; i ++) {int p = 2*i; b [i] = (byte) (chartobyte (hc [p]) << 4 | chartobyte (hc [p+1])); } return b; }}5. Чтобы преобразовать массив байтов в строку
Используйте New String () напрямую.
/** Byte Array для String*/ public Static String Bytes2string (byte [] b) бросает исключение {string r = new String (b, "UTF-8"); возврат R; }6. String to Byte Array
Используйте GetBytes () напрямую.
/** String to Byte Array*/ public static byte [] string2bytes (String s) {byte [] r = s.getbytes (); возврат R; }7. шестнадцатеричная строка
Сначала преобразовать в Byte [], затем преобразуйте в строку.
/** Hexstring to String*/ public Static String hex2string (String hex) Throws exection {String r = bytes2string (hexstring2bytes (hex)); возврат R; }8. строка в шестнадцатеричную строку
Превратите в байт [] сначала, затем преобразуйте в шестнадцатеричную строку.
/** Строка в шестнадцатеричную строку*/ public Static String String2Hexstring (String S) Throws Exception {String R = Bytes2Hexstring (String2Bytes (s)); возврат R; }Основная функция:
public static void main (string [] args) бросает исключение {byte b1 = (byte) 45; System.out.println ("1. Byte до десятичного:" + byte2int (b1)); int i = 89; System.out.println ("2.1 до байта:" + int2byte (i)); byte [] b2 = new byte [] {(byte) 0xff, (byte) 0x5f, (byte) 0x6, (byte) 0x5a}; System.out.println ("3. байт массив к шестнадцатеричной строке:" + bytes2Hexstring (b2)); String S1 = New String ("1DA47C"); System.out.println ("4,16% строки в массив байтов:" + arrays.tostring (hexstring2bytes (s1))); System.out.println ("5. байтовый массив для строки:" + bytes2string (b2)); System.out.println ("6. String to Byte Array:" + Arrays.tostring (String2bytes (s1))); System.out.println ("7,16% строки к строке:" + hex2string (s1)); String S2 = новая строка ("Привет!"); System.out.println ("8. String to Hexadecimal String:" + String2Hexstring (S2)); }Результаты работы:
1. байт до десятичного десятичного: 42.1 Десятичный до байта: 893. байт массив к шестнадцатеричной струне: FF5F065A4. Шестнадцатеричная строка в массив байтов: [29, -92, 124] 5. Байт массив к строке:? _ Z6. Строка до байтового массива: [49, 68, 65, 52, 55, 67] 7. Шестнадцатеричная строка к строке:? | 8. Строка для шестнадцатеричной строки: 48656C6C6F21
В приведенной выше статье кратко обсуждается взаимное преобразование между бинарным, десятичным, шестнадцатеричным и струнным, - это все контент, которым я делюсь с вами. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.