`

十六进制与字节数组的转换

 
阅读更多

注意:

       Java用补码表示数,所以负数要特别注意!!!

       ^符号表示位异或,可用于两个2进制的相连!

 

public class UtilHex2ByteArray {
	/** 
	* 将指定byte数组以16进制的形式打印到控制台 
	* @param hint String 
	* @param b byte[] 
	* @return void 
	*/ 
	public static void printHexString(byte[] b) { 
		
	for (int i = 0; i < b.length; i++) { 
	String hex = Integer.toHexString(b[i] & 0xFF); 
	if (hex.length() == 1) { 
	hex = '0' + hex; 
	} 
	System.out.print(hex.toUpperCase() + " "); 
	} 
	System.out.println(""); 
	} 

	/** 
	* 
	* @param b byte[] 
	* @return String 
	*/ 
	public static String Bytes2HexString(byte[] b) { 
	String ret = ""; 
	for (int i = 0; i < b.length; i++) { 
	String hex = Integer.toHexString(b[i] & 0xFF); 
	if (hex.length() == 1) { 
	hex = '0' + hex; 
	} 
	ret += hex.toUpperCase(); 
	} 
	return ret; 
	} 

	/** 
	* 将两个ASCII字符合成一个字节; 
	* 如:"EF"--> 0xEF 
	* @param src0 byte 
	* @param src1 byte 
	* @return byte 
	*/ 
	public static byte uniteBytes(byte src0, byte src1) { 
	byte _b0 = Byte.decode("0x" + new String(new byte[]{src0})).byteValue(); 
	_b0 = (byte)(_b0 << 4); 
	byte _b1 = Byte.decode("0x" + new String(new byte[]{src1})).byteValue(); 
	byte ret = (byte)(_b0 ^ _b1); 
	return ret; 
	} 

	/** 
	* 将指定字符串src,以每两个字符分割转换为16进制形式 
	* 如:"2B44EFD9" --> byte[]{0x2B, 0x44, 0xEF, 0xD9} 
	* @param src String 
	* @return byte[] 
	*/ 
	public static byte[] HexString2Bytes(String src,int length){ 
	byte[] ret = new byte[length]; 
	byte[] tmp = src.getBytes(); 
	for(int i=0; i< length; i++){ 
	ret[i] = uniteBytes(tmp[i*2], tmp[i*2+1]); 
	} 
	return ret; 
	} 

}

 

分享到:
评论

相关推荐

    PHP CRC8算法-集成十六进制转byte数组与byte数组转十六进制

    由C代码翻译过来的PHP CRC8算法,内有十六进制转字节数组与字节数组转十六进制,内有十六进制转byte数组与byte数组转十六进制

    ASCII码字符串(十六进制)与字节数组的互转

    3. **字节数组到ASCII字符串**:相反的过程是将字节数组转换回ASCII码字符串。在LabVIEW中,可以使用“字节数组到字符串”函数来完成这一操作。如果字节数组是通过ASCII字符串转换得到的,那么转换回的字符串将与...

    十六进制转字节工具

    4. 可能包含文件操作,如读取包含十六进制数据的文件并转换为字节数组。 综上所述,"十六进制转字节工具"对于C语言开发者来说,是一个实用的辅助工具,能够方便地处理十六进制数据和字节操作,简化编程过程,提高...

    android byte字节数组转换十六进制字符串

    总结,Android中将字节数组转换为十六进制字符串的方法多种多样,可以根据项目需求和性能要求选择合适的方式。在开发过程中,了解并熟练掌握这些转换技巧,可以帮助我们更好地处理二进制数据,提升代码的可读性和可...

    16进制与字符串、字节数组之间的转换

    ### 三、字节数组与十六进制之间的转换 #### 3.1 字节数组转十六进制 当处理字节数组时,可以直接将每个字节转换为十六进制形式: ```csharp public static string ByteArrayToHexString(byte[] bytes) { ...

    java二进制,字节数组,字符,十六进制,BCD编码转换

    /* java二进制,字节数组,字符,十六进制,BCD编码转换2007-06-07 00:17/** *//** * 把16进制字符串转换成字节数组 * @param hex * @return */

    java中进制转换(二进制,十进制,十六进制)及字节数组与十六进制的转换

    本篇将详细阐述如何在Java中进行二进制、十进制和十六进制之间的转换,以及字节数组与十六进制字符串的相互转换。 一、进制转换 1. **二进制转十进制**:Java中可以使用`Integer.parseInt()`或`Long.parseLong()`...

    把十六进制的位串转化为byte数组

    在IT行业中,数据的存储和处理常常涉及到不同的进制转换,比如从十进制到二进制,或者从十六进制到字节数组。在Java编程中,将十六进制位串转化为byte数组是一项常见的操作,特别是在处理二进制数据、网络通信或者...

    JAVA二进制字节数组字符十六进制BCD编码转换.doc

    - 示例中的`hexStringToByte()`方法将十六进制字符串转换为字节数组,而`bytesToHexString()`则将字节数组转换为十六进制字符串。 2. **字节数组** - 字节数组在Java中用`byte[]`表示,它可以存储任意字节值,常...

    易语言长整数到十六进制和字节集

    长整数转换为字节集,意味着将长整数的二进制表示拆分成单独的字节,并存储在一个字节数组中。这对于处理底层的二进制数据交换非常有用。 在实际操作中,实现长整数到十六进制和字节集的转换,可能需要以下步骤: ...

    十六进制与字符串转换

    在Linux C环境中,十六进制(Hexadecimal)与字符串(String)之间的转换是常见的编程需求。十六进制是一种逢16进1的进位制,通常用于表示二进制数据,而字符串则是一系列字符的集合。理解这两种类型之间的转换对于...

    byte、十进制、十六进制间的转换

    byte数组、十进制、十六进制间的两两转换

    Labview十六进制4字节与浮点数之间转换

    自行设计,亲测无误,欢迎使用

    Java实现的进制转换工具类完整示例

    该工具类主要提供了将字节数组转换为十六进制字符数组或字符串的方法,以及将字符串转换为十六进制字符数组或字符串的方法。 在Java中,十六进制是一种常用的进制,它可以用数字0到9和字母A到F表示。十六进制在...

    图片转换成十六进制数组保存的工具

    一个常见的方法是将图片转换为十六进制数组,这样可以方便地在内存中存储和处理。"图片转换成十六进制数组保存的工具"就是这样一个实用程序,专为满足这一需求而设计。 首先,我们要理解位图(Bitmap)的概念。位图...

    C#16进制与字符串字节数组之间的转换代码

    此函数用于将字节数组转换为十六进制字符串。它遍历每个字节,将其转换为十六进制表示形式,并拼接成一个新的字符串返回。 ```csharp public static string byteToHexStr(byte[] bytes) { string returnStr = ""; ...

    单精度浮点数与十六进制转换_C语言程序

    在探讨“单精度浮点数与十六进制转换_C语言程序”这一主题时,我们首先需要理解几个核心概念:单精度浮点数、十六进制以及它们之间的转换机制。此外,我们将深入分析C语言中实现这些转换的具体方法,以及如何在...

    C#实现十六进制AES的加解密,字节数组工具类

    在C#中,可以使用BitConverter类将字节数组转换为十六进制字符串,反之亦然。 总结来说,C#实现的十六进制AES加解密结合了强大的加密算法和方便的数据表示方式,提供了可靠的数据安全解决方案。`ByteUtil.cs`和`...

    十六进制与jpg图片之间的转换

    这个过程涉及到读取jpg文件,提取其二进制内容,然后将每个二进制字节转换为对应的十六进制表示。转换完成后,用户可以得到一个十六进制字符串,代表原始jpg图像的字节序列。 综上所述,"十六进制与jpg图片之间的...

Global site tag (gtag.js) - Google Analytics