如何在Scala中将十六进制字符串转换为字节数组?

Scala中的十六进制字符串表示以十六进制数表示的值,即以16为基数的系统。

示例

hexString = "32AF1"

字节数组是一个存储字节数据类型元素的数组。

将十六进制字符串转换为字节数组

我们可以使用Java库中的某些方法在Scala中将十六进制字符串转换为字节数组,这是有效的,因为Scala将Java库用于其大多数功能。

  • 步骤1:将十六进制字符串转换为int

  • 步骤2:使用toByteArray方法将BigInteger值转换为字节数组。

程序:

import scala.math.BigInt

object MyClass {
    def main(args: Array[String]) {
        val hexString = "080A4C";
        
        println("hexString : "+ hexString)
        
        val integerValue = Integer.parseInt(hexString, 16)
        val byteArray = BigInt(integerValue).toByteArray
        
        println("The byte Array for the given hexString is : ")
        for(i <- 0 to byteArray.length-1 )
            print(byteArray(i)+ " ")
    }
}

输出:

hexString : 080A4C
The byte Array for the given hexString is : 
8 10 76

描述:

在上面的代码中,我们有一个名为hexString的十六进制字符串,然后使用Integer类的parseInt()方法将其转换为整数值,并将该值存储到名为integerValue的变量中。我们将使用BigInt类的toByteArray方法将此整数值转换为byteArray ,并将其存储到名为byteArray的变量中,并使用print()方法打印该值。