java - 在 Java 中将 StringBuffer 转换为字节数组

标签 java arrays stringbuffer

我有一个 StringBuffer,strbuf=161656070200000000202020202001000000009E52;

我想转换成如下所示的字节数组:

byte[] byte_array=new byte[]
 {(byte)0x16,(byte)0x16,(byte)0x56,(byte)0x07,
  (byte)0x02,(byte)0x00,(byte)0x00,(byte)0x00,
  (byte)0x00,(byte)0x20,(byte)0x20,(byte)0x20,
  (byte)0x20,(byte)0x20,(byte)0x01,(byte)0x00,
  (byte)0x00,(byte)0x00,(byte)0x00,(byte)0x9E,(byte)0x52};

我是否需要将strbuf转换为hex字符串,然后执行getBytes()? 解决这个问题的正确方法是什么?

最佳答案

您可以尝试以下操作。

final String longHex = "161656070200000000202020202001000000009E52";
byte[] bytes = new BigInteger(longHex, 16).toByteArray();
System.out.println(Arrays.toString(bytes));

打印

[22, 22, 86, 7, 2, 0, 0, 0, 0, 32, 32, 32, 32, 32, 1, 0, 0, 0, 0, -98, 82]

关于java - 在 Java 中将 StringBuffer 转换为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181527/

相关文章:

java - 如何从排序数组中删除重复元素

java - 将 int 变量附加到 StringBuffer

java - 在 Java 1.7+ 上,我们是否仍需要使用 StringBuffer.append 转换 "this string"+ "should"+ "be"+ "joined"以获得最佳实践?

c - 如何将文件硬编码为字节数组?

java - 如何为所有实体设置 eclipselink 缓存过期?

java - 找到后如何获取扫描仪中的位置?

java - 查看传入连接、套接字 java

python - 将最后一个值替换为之前的值

java - 不使用 StringBuffer.reverse() 反转字符串

Java 正则表达式卡在一条长绳上