将16进制PowerShell表转换为原始十六进制转储

n53p2ov0  于 2024-01-08  发布在  Shell
关注(0)|答案(2)|浏览(168)

我在PowerShell中使用Format-Hex命令来获取字符串的十六进制内容。我的命令"some_string" | format-hex在表中给出了输出。我如何将其转换为原始十六进制转储,使其类似于736f6d655f737472696e67

t5fffqht

t5fffqht1#

展开结果对象的Bytes属性,将每个字节格式化为两位十六进制数,然后将它们连接起来:

  1. ("some_string" | Format-Hex | Select-Object -Expand Bytes | ForEach-Object { '{0:x2}' -f $_ }) -join ''

字符串
然而,编写一个自定义函数来将字符串转换为十六进制表示可能更简单,更直接:

  1. function ConvertTo-Hex {
  2. [CmdletBinding()]
  3. Param(
  4. [Parameter(
  5. Position=0,
  6. Mandatory=$true,
  7. ValueFromPipeline=$true,
  8. ValueFromPipelineByPropertyName=$true
  9. )]
  10. [string]$InputObject
  11. )
  12. $hex = [char[]]$InputObject |
  13. ForEach-Object { '{0:x2}' -f [int]$_ }
  14. if ($hex -ne $null) {
  15. return (-join $hex)
  16. }
  17. }
  18. "some_string" | ConvertTo-Hex

展开查看全部
k5ifujac

k5ifujac2#

使用Format-Hex

  1. (('Hello World' | Format-Hex).HexBytes).Replace(' ','')
  2. 48656C6C6F20576F726C64

字符串

相关问题