powershell - 在 PowerShell 中反转字节顺序

标签 powershell endianness

我想反转此数组中的字节顺序

$cfg = ($cfg | ForEach-Object ToString X2)

我已经尝试过

$cfg = [Array]::Reverse($cfg)

但是之后

Write-Output $cfg

没有生成输出。我该如何解决这个问题?

最佳答案

注意:下面的答案涉及反转给定数组的元素,无论它们的类型是什么。您问题中的命令创建一个字符串数组,而不是字节。如果您想将这些字符串解释为字节值,则必须使用:[byte[]] $cfg = ($cfg | ForEach-Object ToString X2) -replace '^ ', '0x'
也就是说,鉴于您的命令暗示 $cfg 的元素已经是数字
[byte[]] $cfg = $cfg 应该可以。

[Array]::Reverse() 就地反转数组,并且没有返回值

因此,仅使用 [Array]::Reverse($cfg) 单独使用 - 之后,$cfg 将包含原始数组元素按相反顺序排列。

一个简单的例子:

$a = 1, 2, 3

# Reverse the array in place.
[Array]::Reverse($a)

# Output the reversed array -> 3, 2, 1
$a 

关于powershell - 在 PowerShell 中反转字节顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70964475/

相关文章:

c++ - 读取二进制数据到long int

powershell - 列出群组成员的简单脚本

c# - 从 C# 以管理员身份执行 PowerShell

c - uint32_t 的字节输出

c - 这个 C99 IS_LITTLE_ENDIAN 宏可移植吗?

.net - 为什么 BinaryReader.ReadUInt32() 反转位模式?

powershell - 如何通过 PowerShell 使用 Azure DevOps 的内部版本号更新 AssemblyInfo.cs 中的 AssemblyVersion 号?

powershell - 使用PowerShell替换字符串中包含+的字符串

powershell - 将目录中的文件列表添加到数组列表

c - void 指针 = int 指针 = float 指针