开发者博客:http://www.developsearch.com
/**
* 字节转化工具类
*
* @author chenxin
* @version [版本号, 2012-5-21]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class ByteUtil {
/**
* 把16进制字符串转换成字节数组
* <功能详细描述>
* @param hex String
* @return byte[]
* @see [类、类#方法、类#成员]
*/
public static byte[] hexString2Bytes(String hex)
{
int len = (hex.length() / 2);
byte[] result = new byte[len];
char[] achar = hex.toCharArray();
for (int i = 0; i < len; i++)
{
int pos = i * 2;
result[i] = (byte)(char2Byte(achar[pos]) << 4 | char2Byte(achar[pos + 1]));
}
return result;
}
private static byte char2Byte(char ch)
{
switch (ch)
{
case '0':
return 0x00;
case '1':
return 0x01;
case '2':
return 0x02;
case '3':
return 0x03;
case '4':
return 0x04;
case '5':
return 0x05;
case '6':
return 0x06;
case '7':
return 0x07;
case '8':
return 0x08;
case '9':
return 0x09;
case 'a':
return 0x0A;
case 'b':
return 0x0B;
case 'c':
return 0x0C;
case 'd':
return 0x0D;
case 'e':
return 0x0E;
case 'f':
return 0x0F;
}
return 0x00;
}
/**
* 字节数组 转化成 16进制字符串
* <功能详细描述>
* @param b byte[]
* @return String
* @see [类、类#方法、类#成员]
*/
public static String bytes2hexString(byte[] b)
{
String stmp = null;
StringBuffer buf = new StringBuffer();
for (int n = 0; n < b.length; n++)
{
stmp = Integer.toHexString(b[n] & 0xff);
if (1 == stmp.length())
{
stmp = "0" + stmp;
}
buf.append(stmp);
}
return buf.toString();
}
// 整数到字节数组转换
public static byte[] int2bytes(int n)
{
byte[] ab = new byte[4];
ab[0] = (byte)(0xff & n);
ab[1] = (byte)((0xff00 & n) >> 8);
ab[2] = (byte)((0xff0000 & n) >> 16);
ab[3] = (byte)((0xff000000 & n) >> 24);
return ab;
}
// 字节数组到整数的转换
public static int bytes2int(byte b[])
{
int s = 0;
s = ((((b[0] & 0xff) << 8 | (b[1] & 0xff)) << 8) | (b[2] & 0xff)) << 8 | (b[3] & 0xff);
return s;
}
// 字节转换到字符
public static char byte2char(byte b)
{
return (char)b;
}
}
分享到:
相关推荐
《标准银联加密算法MacUtil与ByteUtil详解——基于ANSI-X9.9》 在信息安全领域,数据加密是保障信息传输安全的重要手段之一。在银联交易系统中,为了确保金融交易数据的安全,银联制定了一系列的标准加密算法。本文...
在Java编程中,`ByteUtil.java`是一个源代码文件,它可能包含了用于处理这种加密解密操作的实用工具函数。 首先,让我们理解什么是MAC(Message Authentication Code)。MAC是一种用于验证数据完整性和发送者身份的...
此工具应用于Android端与硬件通过socket通信时,需要传递的字节流,用于16进制数据流和字符串的相互转换工具类
具体来说,我们将关注两个核心文件:`ByteUtil.cs`和`AesHelper.cs`。 `ByteUtil.cs`通常包含一系列与字节数组操作相关的静态方法。这些方法可能包括: 1. 字节数组到十六进制字符串的转换:用于将字节数组的数据...
ByteUtil 工具类,字节转string CRC16Verify crc16校验算法 使用 1、将aar包复制到libs目录下 2、如果使用时报错缺少so,请将so文件复制到libs下,并配置 sourceSets { main { jniLibs.srcDirs = ['libs'] }...
AESUtils、Base64、ByteUtil、DESUtils、HexUtil、MD5Utils、RSAEncrypt、SharePreUtils。用于数据的安全性及数据持久化 > io > -- BitmapUtils、FileUtils、IOUtils、PhotoUtils、StorageUtils。用于图片、文件、...
该项目包含了一些辅助工具类,如`byteutil`和IP解析工具类,以方便数据的编码解码和IP地址的操作。 首先,让我们详细了解UDP协议。UDP不像TCP那样建立连接,而是直接将数据报发送出去,无需确认接收方是否收到。...
首先,我们来看`ByteUtil.java`。这个文件很可能包含了一些通用的字节操作工具方法,用于处理二进制数据。在音频信息提取中,由于音频文件通常是以二进制格式存储的,因此理解和操作字节流至关重要。`ByteUtil`可能...
在Java开发中,处理Excel数据是一项常见的任务,无论是读取、写入还是更新表格内容,都需要借助特定的库。这个“java导入导出Execl表格数据jar包及依赖包”提供了一整套解决方案,使得在Java项目中操作Excel变得更加...
整理了几个在DotNet2.0中C#开发常用的基础工具类,内容如下:StringUtil、ParseUtil、TypeUtil、ByteUtil、NumUtil、XmlUtil、RegexUtil、HashUtil、ColorUtil。