java byte数组与String的互转
来源:互联网 发布:移动网络服务器 编辑:程序博客网 时间:2024/05/22 07:13
java中有些情况下是需要将byte数组转化为String类型来传输的,但是如果用String(byte[]).getByte可能就转不回来了。在网上找了一个方法,他的做法就是将byte数组转化为一个包含16进制的字符串。比如byte = [8,20]可以用字符串表示为"0814".直接看代码吧。
//字节数组与字符串的转化public class BStransform { public static String byteArr2HexStr(byte[] arrB) throws Exception { int iLen = arrB.length; // 每个byte用两个字符才能表示,所以字符串的长度是数组长度的两倍 StringBuffer sb = new StringBuffer(iLen * 2); for (int i = 0; i < iLen; i++) { int intTmp = arrB[i]; // 把负数转换为正数 while (intTmp < 0) { intTmp = intTmp + 256; } // 小于0F的数需要在前面补0 if (intTmp < 16) { sb.append("0"); } sb.append(Integer.toString(intTmp, 16)); } return sb.toString(); } public static byte[] hexStr2ByteArr(String strIn) throws Exception { byte[] arrB = strIn.getBytes(); int iLen = arrB.length; // 两个字符表示一个字节,所以字节数组长度是字符串长度除以2 byte[] arrOut = new byte[iLen / 2]; for (int i = 0; i < iLen; i = i + 2) { String strTmp = new String(arrB, i, 2); arrOut[i / 2] = (byte) Integer.parseInt(strTmp, 16); } return arrOut;}}
这样转来转去也不失真,很方便
- java byte数组与String的互转
- string与byte数组的互转
- InputStream String与byte数组之间的互转
- java byte[]数组转String
- Java中String与byte数组的相互转换
- String 与Byte[]数组之间的转换
- JAVA Byte数组与十六进制互转
- C#中字符串string与byte[]数组互转
- Java byte数组转String字符集问题
- byte数组与int的互转
- String 与byte 数组转换
- Java short数组与byte数组互转
- fuzhaoyang 转:Java中String与byte[]的转换
- Java中String与byte[]的转换
- Java中String与byte[]的转换
- java中string与byte[]的转换
- Java String与Byte的转换
- Java中String与byte[]的转换
- Mybatis多参数查询映射
- QT 禁止输入法弹出
- 九度OJ1064 反序数
- 不错的ubuntu - sources.list源
- DS18B20多点测温(读序列,匹配序列,51 C程序,1602显示)
- java byte数组与String的互转
- 电脑双系统启动顺序的切换方法
- const常量成员函数
- FB联机调试设备 出现移动设备上进行网络调试时 计算机防火墙上的 7935 端口已打开问题
- UNIX常用函数 - 动态库操作相关函数
- win7 下使用vb开发工具拖动控件时出现控件闪烁问题的解决方法
- JS保存、读取 换行 转Json 报错
- NHiberNate性能问题
- Linux多任务编程(五)---wait()、waitpid()函数及其基础实验