当前位置: 首页 > 面试题库 >

如何在Java中将十六进制字符串转换为字节值

马弘和
2023-03-14
问题内容

我有一个String数组。我想将其转换为字节数组。我使用Java程序。例如:

String str[] = {"aa", "55"};

转换成:

byte new[] = {(byte)0xaa, (byte)0x55};

我能做什么?


问题答案:

看一下样本,我想您的意思是字符串数组实际上是字节的十六进制表示形式的数组,不是吗?

如果是,那么对于每个字符串项,我将执行以下操作:

  1. 检查字符串是否仅包含2个字符
  2. 这些字符的间隔为‘0’..‘9’或’a’..’f’(还要考虑其大小写)
  3. 将每个字符转换为相应的数字,减去代码值“ 0”或“ a”
  4. 建立一个字节值,其中第一个字符为高位,第二个字符为低位。例如
    int byteVal = (firstCharNumber << 4) | secondCharNumber;
    


 类似资料:
  • 问题内容: 我编写了一个简单的程序,用于在Java中向串行端口发送和接收数据。我通过回送测试(Rx到Tx)连接串行端口设备。它工作正常。但我无法发送和接收十六进制数据到串行端口和接收串行端口。在我的设备中使用了FT232BL芯片,因此是否需要任何dll或其他库来将十六进制数据发送和接收到串行端口设备。我的代码如下。 问题答案: 十六进制: 十六进制为:

  • 问题内容: 我在ex中有整数。16,我正在尝试将此数字转换为十六进制数字。我试图通过使用十六进制函数来实现此目的,但是每当您向十六进制函数提供整数时,它都会返回十六进制数字的字符串表示形式, 有人可以告诉我如何将字符串格式的十六进制数字转换为简单的十六进制数字。 谢谢!! 问题答案:

  • 问题内容: 如何在Java中将字节数组转换为十六进制字符串? 问题答案: 可以使用如下代码:

  • 问题内容: 我试图在Java中将类似“ testing123”的字符串转换为十六进制形式。我目前正在使用BlueJ。 并将其转换回去,除了向后转换,是否一样? 问题答案: 这是将其转换为十六进制的简短方法:

  • 问题内容: 我需要将二进制字符串转换为十六进制字符串,但是我有问题。我通过这种方法将二进制字符串转换为十六进制字符串: 没关系!但是我丢失了字符串左侧的零。例如: 该方法返回此:123456789ABCDEF,但我想返回此: 00000123456789ABCDEF 问题答案: 而不是我将使用解析值,然后以所需的宽度(在您的示例中为21)输出值:

  • 问题内容: 我也想将我的二进制(在字符串中)转换为十六进制字符串,这只是一个程序片段,因为该程序只是另一个更大程序的一部分: 问题是我不知道填充是否有效,但是我确定该程序返回了二进制字符串的错误十六进制转换,我正在尝试这样做: http://www.wikihow.com/Convert-Binary-to- Hexadecimal PS:我需要实现它(不使用任何内置函数) 问题答案: 如果您不必