| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| package test; |
| |
| /** |
| * @author wongoo |
| */ |
| public class HexTool { |
| |
| public static String byteToHex(byte b) { |
| String hex = Integer.toHexString(b & 0xFF); |
| if (hex.length() < 2) { |
| hex = "0" + hex; |
| } |
| return hex; |
| } |
| |
| public static String bytesToHex(byte[] bytes) { |
| StringBuffer sb = new StringBuffer(); |
| for (int i = 0; i < bytes.length; i++) { |
| String hex = Integer.toHexString(bytes[i] & 0xFF); |
| if (hex.length() < 2) { |
| sb.append(0); |
| } |
| sb.append(hex); |
| } |
| return sb.toString(); |
| } |
| |
| public static byte hexToByte(String inHex) { |
| return (byte) Integer.parseInt(inHex, 16); |
| } |
| |
| public static byte[] hexToByteArray(String inHex) { |
| int hexlen = inHex.length(); |
| byte[] result; |
| if (hexlen % 2 == 1) { |
| hexlen++; |
| result = new byte[(hexlen / 2)]; |
| inHex = "0" + inHex; |
| } else { |
| result = new byte[(hexlen / 2)]; |
| } |
| int j = 0; |
| for (int i = 0; i < hexlen; i += 2) { |
| result[j] = hexToByte(inHex.substring(i, i + 2)); |
| j++; |
| } |
| return result; |
| } |
| |
| } |