You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell 5.1中如何更直接地将字节数组格式化为指定十六进制字符串?

PowerShell 5.1:直接将字节数组格式化为注册表风格的十六进制字符串

要将字节数组转换为33, 32, ff这种逗号分隔的十六进制格式(匹配注册表显示风格),除了用[System.BitConverter]::ToString($byteArray) -replace '-', ', '的间接方式,还有几种更直接的实现:

方法1:PowerShell原生遍历+格式化+连接

$byteArray | ForEach-Object { '{0:x2}' -f $_ } -join ', '
  • 逻辑:逐个将每个字节格式化为两位小写十六进制字符串,再用, 连接结果。
  • 若需要大写十六进制,将x2替换为X2即可,输出会变成33, 32, FF。

方法2:调用.NET的String.Join方法

[string]::Join(', ', $byteArray | ForEach-Object { '{0:x2}' -f $_ })
  • 逻辑和方法1一致,但直接使用.NET的String.Join完成连接操作,在处理超大字节数组时性能略优(常规场景差异可忽略)。

示例验证

# 初始化字节数组
[byte[]] $byteArray = '0x33,0x32,0xff' -split ','

# 格式化输出
$formattedString = $byteArray | ForEach-Object { '{0:x2}' -f $_ } -join ', '
Write-Output $formattedString # 输出: 33, 32, ff

内容的提问来源于stack exchange,提问作者Gordon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 17:57:37