差異處
這裏顯示兩個版本的差異處。
java:basic:converter [2016/11/22 13:30] tony [Hex String to byte array] |
java:basic:converter [2017/08/19 23:33] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>java}} | ||
- | ====== Converter ====== | ||
- | ===== Hex String to byte array ===== | ||
- | 目的是將0x8086轉為長度為2的byte array,內容為{0x80, 0x86}: | ||
- | <code java> | ||
- | static public byte[] parseHextringtoBytes(String hexStr){ | ||
- | hexStr = hexStr.replaceAll("0[x|X]", ""); | ||
- | if( hexStr.length() % 2 != 0 ) { | ||
- | hexStr = "0".concat(hexStr); | ||
- | } | ||
- | char[] hexChars = hexStr.toCharArray(); | ||
- | byte[] b = new byte[hexStr.length() / 2]; | ||
- | for (int i = 0; i < b.length; i++) { | ||
- | int index = i * 2; | ||
- | int v = Integer.parseInt(String.valueOf(Arrays.copyOfRange(hexChars, index, index+2)), 16); | ||
- | b[i] = (byte) v; | ||
- | } | ||
- | return b; | ||
- | } | ||
- | </code> | ||