当前位置: 首页 > 知识库问答 >
问题:

在Java中如何将十六进制反转为反向十六进制?

盖锐进
2023-03-14

我从下面的另一个问题中看到了一个代码,但我不知道如何利用它。

let hex_string: String = String::from("d59c168e05df4757");
let string_to_bytes = parse_hex(&hex_string);
println!("Hex string as bytes: {:?}", string_to_bytes); //Prints: [213, 
156, 22, 142, 5, 223, 71, 87]
let mut bytes_reversed = Vec::new();
for i in string_to_bytes.iter().rev() {
    bytes_reversed.push(i);
}
println!("Bytes reversed: {:x?}", bytes_reversed); //Prints: [57, 47, 
   df, 5, 8e, 16, 9c, d5]

共有1个答案

丁雅懿
2023-03-14

使用StringBuilder:

StringBuilder sb = new StringBuilder(hexString);

字符的反向对:

for (int i = 0; i < sb.length(); i += 2) {
  char tmp = sb.charAt(i);
  sb.setCharAt(i, sb.charAt(i+1));
  sb.setCharAt(i+1, tmp);
}

然后把整件事颠倒过来:

sb.reverse();
String reversed = sb.toString();
for (int i = 0, j = sb.length() - 2; i < j; i += 2, j -= 2) {
  for (int d = 0; d < 2; ++d) {
    char tmp = sb.charAt(i + d);
    sb.setCharAt(i + d, sb.charAt(j + d));
    sb.setCharAt(j + d, tmp);
  }
}
String reversed =
    new StringBuilder(8)
        .append(hexString, 6, 8)
        .append(hexString, 4, 6)
        .append(hexString, 2, 4)
        .append(hexString, 0, 2)
        .toString();
 类似资料:
  • 本文向大家介绍如何将十六进制转换为十进制?,包括了如何将十六进制转换为十进制?的使用技巧和注意事项,需要的朋友参考一下 而十六进制数是具有值是16的数字系统中的一个并且它具有唯一的16个码元:0,1,2,3,4,5,6,7,8,9和A,B,C,d,E ,其中A,B,C,D,E和F分别是十进制值10、11、12、13、14和15的单位表示。而十进制系统是最熟悉的号码系统向公众开放。它是10的基数,只

  • 本文向大家介绍如何将十进制转换为十六进制?,包括了如何将十进制转换为十六进制?的使用技巧和注意事项,需要的朋友参考一下 十进制是公众最熟悉的数字系统。它是基数10,只有10个符号-0、1、2、3、4、5、6、7、8和9。而十六进制是计算机或数字系统中最常见的数字系统颜色表示。它是基数16,只有16个符号:0、1、2、3、4、5、6、7、8、9和A,B,C,D,E,F。这些A,B,C,D ,E,F分

  • 问题内容: 如何在JavaScript中将十进制值转换为等效的十六进制值? 问题答案: 使用以下命令将数字转换为十六进制字符串: 并通过以下步骤逆向处理:

  • 问题内容: 我有一些Perl代码,其中hex()函数将十六进制数据转换为十进制。如何在Python上执行此操作? 问题答案: 如果用“十六进制数据”表示字符串形式 您可以使用 将其转换为整数并 将其转换为十进制字符串。

  • 我需要转换十六进制- 当我运行这个错误实际上是显示我需要的值但我不能得到它 groovy.lang.的方法:静态java.lang.我nteger.parseInt()适用于参数类型:(java.math.大整数,java.lang.整数)值:[28855032353026779507009821653742961358,...]可能的解决方案:parseInt(java.lang.String,

  • 问题内容: 我这里有一个将十进制转换为十六进制的函数,但它以相反的顺序打印。我该如何解决? 问题答案: 如果要自己编写此代码而不是使用内置函数,则可以在打印当前数字之前简单地进行递归调用: