字节工具
来源:互联网 发布:nodejs 连接数据库 编辑:程序博客网 时间:2024/05/21 17:23
public class BytesUtil { public static char[] hex = "0123456789ABCDEF".toCharArray(); public String bytesToHexStr(byte... bytes) { char[] result = new char[bytes.length * 2]; for (int i = 0; i < bytes.length; i++) { result[i] = hex[(bytes[i] >> 4) & 0x0F]; result[i + 1] = hex[bytes[i] & 0x0F]; } return new String(result); } public byte[] hexStrToBytes(String byteStr) { if (byteStr == null) { return null; } if (byteStr.length() % 2 != 0) { throw new RuntimeException("byteStr长度不是偶数,没法转"); } int resultLen = byteStr.length() / 2; byte[] result = new byte[resultLen]; char h, l; byte b; byteStr = byteStr.toUpperCase(); for (int i = 0; i < resultLen; i++) { h = byteStr.charAt(i); if ('0' <= h && h <= '9') { b = (byte) (0x0F0 & (h - '0')); } else if ('A' <= h && h <= 'F') { b = (byte) (0x0F0 & (h - 'A' + 10)); } else { throw new RuntimeException("byteStr 的第" + i + "个字符 不在16进制范围中"); } l = byteStr.charAt(i + 1); if ('0' <= l && l <= '9') { b |= (byte) (0x0F & (l - '0')); } else if ('A' <= l && l <= 'F') { b |= (byte) (0x0F & (l - 'A' + 10)); } else { throw new RuntimeException("byteStr 的第" + (i + 1) + "个字符 不在16进制范围中"); } result[i] = b; } return result; }}
0 0
- 字节工具
- 字节工具
- 还原字节集工具
- 字节补丁生成工具
- 字节码转换工具
- Java字节码反编译工具
- 【java工具类】字节操作
- Java 字节码 工具 javassist
- class文件字节码分析工具:javap
- asm java字节码操控工具学习
- 工具类--本地路径图片转字节
- ASM(字节码处理工具)
- 对象字节数组转换工具类
- 字节流转为字符串的工具类
- 字节?
- 字节
- 字节
- 字节
- iOS - 音效 AudioToolbox.framework
- 图像处理中的卷积问题
- 网络连接形象比喻
- 解决SurfaceView闪退问题
- Android解析XML文件的三方法
- 字节工具
- c++primer第五版第七章练习
- QQ远程协助连不上解决办法
- KMP算法
- 一次Hadoop集群宕机事故总结
- 文章标题
- 自动化测试和性能测试工具的区别
- beaglebone black安装 QNX系统
- 网络七层详解