`
yaodaqing
  • 浏览: 349509 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

十六进制字符串和byte[]相互转换

阅读更多
/**
	 * 2进制转16进制字符串
	 * @param bytes
	 * @return
	 */
	public static String byteToHexString(byte[] bytes){
		if(bytes==null){
			return null;
		}
        StringBuffer sb = new StringBuffer();   
        for (int i = 0; i < bytes.length; i++) {   
             String strHex=Integer.toHexString(bytes[i]);   
             if(strHex.length() > 3){   
                    sb.append(strHex.substring(6));   
             } else {   
                  if(strHex.length() < 2){   
                     sb.append("0" + strHex);   
                  } else {   
                     sb.append(strHex);   
                  }   
             }   
        }   
       return  sb.toString();   
   } 
	
	/**
	 * 16进制字符串转2进制
	 * @param s
	 * @return
	 */
	public static byte[] hexStringToByte(String hexString){
		if (hexString == null || hexString.equals("")) {
			return null;
		}
		hexString = hexString.toUpperCase();
		int length = hexString.length() / 2;
		char[] hexChars = hexString.toCharArray();
		byte[] d = new byte[length];
		for (int i = 0; i < length; i++) {
			int pos = i * 2;
			d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
		}
		return d;
	}
	
	/**
	 * 字符转为byte
	 * @param c
	 * @return
	 */
	private static byte charToByte(char c) {
		return (byte) "0123456789ABCDEF".indexOf(c);
	}
分享到:
评论

相关推荐

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

    在Android开发中,有时我们需要将字节数组(byte array)转换为十六进制字符串,以便于数据存储、传输或调试。这是因为字节数组是二进制数据,而十六进制字符串则是一种人类可读的表示方式。下面我们将详细讨论如何...

    十六进制字符串和数值相互转换

    这样,其他应用程序就可以通过`LoadLibrary`和`GetProcAddress`等API来加载并调用DLL中的这些函数,实现十六进制字符串和数值之间的相互转换。 总的来说,理解和熟练掌握十六进制字符串与数值之间的转换是编程中的...

    Lua小程序十六进制字符串和二进制数据间的转换[借鉴].pdf

    Lua 小程序十六进制字符串和二进制数据间的转换 本篇文章将介绍 Lua 小程序在十六进制字符串和二进制数据之间的转换。Lua 是一种轻量级、高效、灵活的脚本语言,广泛应用于游戏、软件开发等领域。在数据处理过程中...

    十六进制与字符串转换

    这个示例展示了如何使用`sprintf`将一个字节转换为十六进制字符串,以及如何使用`strtol`将一个十六进制字符串转换回字节。 在实际应用中,你可能会遇到更复杂的情况,比如处理包含多个字节的数组或者字符串,这时...

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

    这个类可能包含一个静态方法,接受一个十六进制字符串作为参数,然后按照上述步骤进行转换,并返回byte数组。在实际开发中,这样的工具类可以大大简化代码,提高可读性和可维护性。 在处理十六进制字符串转字节数组...

    十六进制字符串按位异或运算工具和java位异或运算

    十六进制字符串是由0到9和A到F(或a到f)组成的字符序列,每个字符代表4位二进制数。例如,十六进制数"AB"在二进制下表示为10101011。当两个十六进制字符串进行按位异或运算时,会先将它们转换为二进制形式,然后逐...

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

    反之,从十六进制字符串转换回字节数组的过程也相对简单: ```csharp public static byte[] HexStringToByteArray(string hex) { int length = hex.Length / 2; byte[] bytes = new byte[length]; for (int i = 0...

    Go-此工具用于将16进制字符串转换成10进制byte数组

    本工具专注于将16进制字符串转换为10进制的byte数组,这在处理如数据库存储、加密解密、网络通信等场景中非常常见。 1. **16进制字符串与10进制byte数组的概念** - **16进制字符串**:由0-9和A-F(或a-f)字符组成...

    java实现十六进制字符unicode与中英文转换示例

    总结,这个示例展示了如何在Java中处理Unicode和十六进制字符串的转换,强调了理解字符编码格式和处理过程的重要性。在实际开发中,正确处理字符编码可以避免乱码问题,确保数据的准确性和一致性。同时,开发者应该...

    C# 字符串转十六进制串,16进制反向转回原字符串

    要将字符串转换为十六进制串,我们需要对字符串中的每个字符进行编码,然后将编码结果转换成十六进制字符串。C#提供了`BitConverter`类和`ToString`方法来完成这个任务: ```csharp public static string StringTo...

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

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

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

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

    pb字符串转十六进制及各进制之间转换源码

    PowerBuilder中的`Hex()`函数可以把整数值转换为十六进制字符串。如果我们要对字符串的每个字符分别转换,需要先将字符串转换成字节序列,然后逐个应用`Hex()`函数。例如: ```pb string strInput = "HelloWorld...

    字符串与十六进制相互转换delphi源码

    3. **二进制转十六进制**:将二进制数转换为十六进制字符串。这可以通过将二进制数除以16并取余得到每位十六进制数,然后用十六进制字符映射(0-9和A-F)替换余数。 4. **处理汉字和特殊字符**:对于非ASCII字符,...

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

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

    c#,十六进制转换成浮点数

    2. **字符串到整型转换**:将十六进制字符串转换为十进制整数。可以使用`int.Parse`或`Convert.ToInt32`方法,但需先添加前缀“0x”以指示基数是16。 3. **整型到浮点数转换**:这一步比较复杂,因为浮点数的二进制...

    QT/C++实现:四字节十六进制与浮点数相互转化——三种方法(亲自验证源码)

    本文将详细探讨如何实现四字节十六进制字符串与浮点数之间的相互转换,涵盖直接方法、强制类型转换法以及使用union和struct的方法。这三种方法都已通过实际验证,确保其正确性和有效性。 首先,我们来看直接方法。...

    将传进来的十六进制表示的字符串转换成byte数组 文件下载

    总结来说,将十六进制字符串转换为byte数组是编程中常见的操作,涉及到的主要知识点包括字符串处理、二进制数据操作以及对不同编程语言的API理解。在实际应用中,我们需要根据具体需求选择合适的方法和工具,以确保...

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

    3. 将字节数组转换为十六进制字符串:`public static String encodeHexStr(byte[] data)` 该方法将字节数组转换为十六进制字符串。该方法可以将字节数组转换为小写或大写的十六进制字符串,可以根据需要选择。 4. ...

    C#十六进制和中文汉字之间的转换

    反向操作即从十六进制字符串恢复原始的中文汉字,这涉及到将十六进制字符串解析为字节数组,然后使用相应的字符编码解码字节数组。 ```csharp public static string HexToStr(string Msg) { byte[] buff = new ...

Global site tag (gtag.js) - Google Analytics