在Powershell中是否可以将字节数组转换为8位有符号整数数组?

rafaelzm2000

我正在尝试在Powershell中将十六进制字符串转换为8位带符号整数数组。

我正在使用以下函数将十六进制字符串(例如A591BF86E5D7D9837EE7ACC569C4B59B)转换为字节数组,然后需要将其转换为8位带符号整数数组。

Function GetByteArray {

    [cmdletbinding()]

    param(
        [parameter(Mandatory=$true)]
        [String]
        $HexString
    )

    $Bytes = [byte[]]::new($HexString.Length / 2)

    For($i=0; $i -lt $HexString.Length; $i+=2){
        $Bytes[$i/2] = [convert]::ToByte($HexString.Substring($i, 2), 16)
    }

    $Bytes  
}

使用该函数后,十六进制将转换为字节数组,如下所示:

无符号字节数组

我需要将无符号字节数组转换为8bit有符号字节数组,如下所示:

有符号的8位整数数组(字节数组)

这可能吗?如果可以,如何实施?

我尝试使用BitConverter类,但据我所知,它只能转换为int16。

提前致谢

mklement0

要获取一个[byte[]]数组[byte]== System.Byte,一个无符号的8位整数类型):

$hexStr = 'A591BF86E5D7D9837EE7ACC569C4B59B' # sample input

[byte[]] ($hexStr -split '(.{2})' -ne '' -replace '^', '0X')
  • -split '(.{2})'用2个字符的序列分割输入字符串,并(...)起来将这些序列包含在返回的令牌中;-ne ''然后清除令牌(从技术上讲是实际的数据令牌)。

  • -replace , '^', '0X'0X在每个结果2进制数字字符串之前放置前缀,产生数组'0XA5', '0X91', ...

  • 转换结果以[byte[]]直接有效地识别此十六进制格式。

    • 注意:如果您忘记了转换,则会得到一个字符串数组

为了得到一个[sbyte[]]阵列[sbyte]== System.SByte,一个签名的8位整数),直接[sbyte[]]代替; 千万不能尝试结合的石膏:[sbyte[]] [byte[]] (...)


如果你一个[byte[]]数组,你要转换[sbyte[]],使用下面的(有可能是更有效的方法):

[byte[]] $bytes = 0x41, 0xFF # sample input; decimal: 65, 255

# -> [sbyte] values of:  65, -1
[sbyte[]] $sBytes = ($bytes.ForEach('ToString', 'X') -replace '^', '0X')

应用于样本值,以十进制表示法:

# Input array of [byte]s.
[byte[]] $bytes = 43, 240, 82, 109, 185, 46, 111, 8, 164, 74, 164, 172
# Convert to an [sbyte] array.
[sbyte[]] $sBytes = ($bytes.ForEach('ToString', 'X') -replace '^', '0X')
$sBytes # Output (each signed byte prints on its own line, in decimal form).

输出:

43
-16
82
109
-71
46
111
8
-92
74
-92
-84

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将整数数组转换为字节数组

来自分类Dev

将整数数组转换为字节数组的快速方法(11 位)

来自分类Dev

将 32 位无符号整数转换为大端字节数组的最稳定方法?

来自分类Dev

Android:将字节数组转换为整数数组

来自分类Dev

在python 2.7中将8位转换为字节数组

来自分类Dev

将字节数组转换为位字节数组

来自分类Dev

将字节数组解码为最多 64 位的有符号整数

来自分类Dev

将整数转换为字节数组

来自分类Dev

将字节数组转换为整数

来自分类Dev

将字节数组(十六进制)转换为有符号的Int

来自分类Dev

将BitmapImage转换为UWP中的字节数组

来自分类Dev

将图像转换为Ruby中的字节数组

来自分类Dev

将图像转换为Ruby中的字节数组

来自分类Dev

将JSON转换为C中的字节数组

来自分类Dev

如何在Python中更优雅地将字节数组转换为整数

来自分类Dev

将arraylist中的所有对象转换为Java中的字节数组

来自分类Dev

将无符号字节数组转换为Structs数组

来自分类Dev

如何在C ++中将64位整数转换为大端字节数组

来自分类Dev

将2个字节从字节数组转换为一个整数

来自分类Dev

将字节数组转换为字节串

来自分类Dev

如何将String格式的字节数组转换为字节数组?

来自分类Dev

将3维字节数组转换为单字节数组

来自分类Dev

Java-在不考虑符号的情况下将int转换为字节数组

来自分类Dev

将16位无符号整数数组转换为32位浮点数组

来自分类Dev

如何将有符号字节数组转换为浮点数?

来自分类Dev

有没有一种方法可以将字节数组转换为ADODB.Stream?

来自分类Dev

将长整数转换为“字节数组编辑”文本,而无需分配堆

来自分类Dev

将字节数组转换为整数而不循环的方法?

来自分类Dev

将长整数转换为“字节数组编辑”文本,而无需分配堆

Related 相关文章

  1. 1

    将整数数组转换为字节数组

  2. 2

    将整数数组转换为字节数组的快速方法(11 位)

  3. 3

    将 32 位无符号整数转换为大端字节数组的最稳定方法?

  4. 4

    Android:将字节数组转换为整数数组

  5. 5

    在python 2.7中将8位转换为字节数组

  6. 6

    将字节数组转换为位字节数组

  7. 7

    将字节数组解码为最多 64 位的有符号整数

  8. 8

    将整数转换为字节数组

  9. 9

    将字节数组转换为整数

  10. 10

    将字节数组(十六进制)转换为有符号的Int

  11. 11

    将BitmapImage转换为UWP中的字节数组

  12. 12

    将图像转换为Ruby中的字节数组

  13. 13

    将图像转换为Ruby中的字节数组

  14. 14

    将JSON转换为C中的字节数组

  15. 15

    如何在Python中更优雅地将字节数组转换为整数

  16. 16

    将arraylist中的所有对象转换为Java中的字节数组

  17. 17

    将无符号字节数组转换为Structs数组

  18. 18

    如何在C ++中将64位整数转换为大端字节数组

  19. 19

    将2个字节从字节数组转换为一个整数

  20. 20

    将字节数组转换为字节串

  21. 21

    如何将String格式的字节数组转换为字节数组?

  22. 22

    将3维字节数组转换为单字节数组

  23. 23

    Java-在不考虑符号的情况下将int转换为字节数组

  24. 24

    将16位无符号整数数组转换为32位浮点数组

  25. 25

    如何将有符号字节数组转换为浮点数?

  26. 26

    有没有一种方法可以将字节数组转换为ADODB.Stream?

  27. 27

    将长整数转换为“字节数组编辑”文本,而无需分配堆

  28. 28

    将字节数组转换为整数而不循环的方法?

  29. 29

    将长整数转换为“字节数组编辑”文本,而无需分配堆

热门标签

归档