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

java 16进制字符串转16进制

阅读更多
/**
 * @author yaodaqing == 姚大庆
 */
public class Test {

	public static void main(String[] args) {
		byte[] b = HexString2Bytes("AA020155");
		String s = Bytes2HexString(b);
		System.out.println(s);
	}
	
	/**
	* 将两个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, 0×44, 0xEF, 0xD9}
	   * @param src String
	   * @return byte[]
	   */
	  public static byte[] HexString2Bytes(String src){
	    byte[] ret = new byte[src.length()/2];
	    byte[] tmp = src.getBytes();
	    for(int i=0; i< tmp.length/2; i++){
	      ret[i] = uniteBytes(tmp[i*2], tmp[i*2+1]);
	    }
	    return ret;
	  }
	  
	  /**
	   * 将指定byte数组以16进制的形式打印到控制台
	   * @param hint String
	   * @param b byte[]
	   * @return void
	   */
	  public static void printHexString(String hint, byte[] b) {
	    System.out.print(hint);
	    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;
	  }

}
分享到:
评论

相关推荐

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节;

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...

    java16进制与字符串的转换.pdf

    在 Java 中,我们可以使用 `Bytes2HexString` 函数将 byte 数组转换为 16 进制字符串。该函数接受一个参数 b,即 byte 数组,然后将其转换为 16 进制字符串。 ```java public static String Bytes2HexString(byte[]...

    字符串16进制转10进制

    16进制转10进制的过程涉及将16进制字符串的每一位数值按照16的幂次转换成对应的10进制数值,并累加这些数值以得到最终的整数。 给定的文件内容中描述的C++代码片段展示了如何将16进制字符串转换为10进制的整数。...

    16进制字符串转10进制

    本主题主要关注如何将16进制字符串转换为10进制数值,这对于编程和数据处理至关重要。16进制(Hexadecimal)是一种逢16进1的计数系统,它使用0-9的数字和A-F的字母(A代表10,B代表11,C代表12,D代表13,E代表14,F...

    字符串转16进制ASCII、16进制ASCII转字符串

    字符串转16进制ASCII、16进制ASCII转字符串

    java String 与各种进制字符之间的转换

    - `Integer.toHexString()`和`Integer.parseInt(hexStr, 16)`是十六进制字符串与整数之间转换的常用方法。 4. **字符编码与解码**: Java中的`Character`类提供了处理单个字符的方法。例如,可以使用`Character....

    java 16进制表示的字符串转换为字节数组 工具类

    /** * 16进制表示的字符串转换为字节数组 * @param hexString 16进制表示的字符串 *... i += 2) { // 两位一组,表示一个字节,把这样表示的16进制字符串,还原成一个字节 bytes[i / 2] = (byte) ((Character.digit(hexS

    java16进制与字符串的转换借鉴.pdf

    1. **16进制字符串转字节数组**: - `HexString2Bytes`方法实现了将16进制字符串转换为字节数组。它首先创建一个目标数组,然后遍历输入字符串的每个字符对,将每两个字符视为一个16进制数字,通过`uniteBytes`方法...

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

    本示例探讨了如何使用Java实现从Unicode十六进制字符串到中英文字符的转换,以及反过来的过程。理解Unicode和UTF之间的关系是至关重要的。 Unicode是一个国际标准,它为世界上几乎所有的字符提供了一个唯一的数字...

    android字符串和16进制转换

    反过来,将16进制字符串转换回ASCII字符串,我们需要将16进制字符串分割成单个字符,然后将它们解析为整数,最后将这些整数转换回相应的字符。这里有一个示例: ```java public String hexToString(String hex) { ...

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

    本节将详细介绍十六进制字符串的按位异或运算以及如何在Java中实现这一运算。 十六进制字符串是由0到9和A到F(或a到f)组成的字符序列,每个字符代表4位二进制数。例如,十六进制数"AB"在二进制下表示为10101011。...

    java 字符串转16进制Ascii

    在这个方法中,我们遍历输入字符串中的每个字符,将其转换为对应的ASCII整数值,然后使用`Integer.toHexString()`方法将该整数转换为16进制字符串。最后,我们将结果拼接到一个`StringBuilder`对象中,以空格分隔...

    java 二进制数据与16进制字符串相互转化方法

    Java 二进制数据与 16 进制字符串相互转换方法 Java 中,二进制数据和 16 进制字符串是两种常见的数据表示形式,在实际编程过程中,我们经常需要将这两种格式相互转换。本文将详细介绍 Java 中二进制数据与 16 进制...

    16进制转文件.zip

    2. **16进制转文件的原理**:将16进制字符串转换为文件,通常需要解析这些字符串,将每个16进制字符转换为其对应的二进制值,然后将这些二进制值组合成完整的字节序列。这个字节序列可以代表任何类型的数据,如文本...

    16进制字符串转换DWORDToHexString

    想“把数值转换成16进制字符串”,比如0x00000123转换成字符串"00000123",虽然有函数_itoa可以调用,但是返回结果是"123",用sprintf又不甘心,就自己动手写一个函数DWORDToHexString,附带的HexStringToValue有误...

    字符串转16进制字节

    反之,如果我们有一个16进制字节序列,想要将其还原为字符串,我们需要先将16进制字符串解析为字节,然后再解码成字符串。在Python中,这可以通过`unhexlify`和`decode`函数完成: ```python hex_str = "48656c6c6...

    16进制Ascll与字符串相互转换

    例如,在Java中,我们可以使用`Character.getNumericValue()`函数来获取字符对应的ASCII码值,再用`Integer.toHexString()`将其转换为16进制字符串。反向转换时,可以使用`Integer.parseInt()`将16进制字符串转换为...

    java-16进制4字节转Float

    在实际应用中,你需要确保输入的16进制字符串是有效的4字节浮点数表示,并且了解与之通信的设备使用的字节序。如果你手头有名为"mytest"的压缩包文件,可能包含了一个实现上述功能的示例程序或测试用例,你可以解压...

    javascript实现的字符串与十六进制表示字符串相互转换方法

    本文实例讲述了javascript实现的字符串与十六进制表示字符串相互转换方法。分享给大家供大家参考。具体如下: 之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6...

    Java中Color和16进制字符串互相转换的方法

    System.out.println("16进制字符串转为颜色的ARGB值:("+String.valueOf(color.getAlpha())+","+String.valueOf(color.getRed())+"," +String.valueOf(color.getGreen())+","+String.valueOf(color.getBlue())+")");...

Global site tag (gtag.js) - Google Analytics