我在PowerShell中使用Format-Hex命令来获取字符串的十六进制内容。我的命令"some_string" | format-hex在表中给出了输出。我如何将其转换为原始十六进制转储,使其类似于736f6d655f737472696e67?
Format-Hex
"some_string" | format-hex
736f6d655f737472696e67
t5fffqht1#
展开结果对象的Bytes属性,将每个字节格式化为两位十六进制数,然后将它们连接起来:
Bytes
("some_string" | Format-Hex | Select-Object -Expand Bytes | ForEach-Object { '{0:x2}' -f $_ }) -join ''
字符串然而,编写一个自定义函数来将字符串转换为十六进制表示可能更简单,更直接:
function ConvertTo-Hex { [CmdletBinding()] Param( [Parameter( Position=0, Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true )] [string]$InputObject ) $hex = [char[]]$InputObject | ForEach-Object { '{0:x2}' -f [int]$_ } if ($hex -ne $null) { return (-join $hex) } } "some_string" | ConvertTo-Hex
型
k5ifujac2#
使用Format-Hex:
(('Hello World' | Format-Hex).HexBytes).Replace(' ','') 48656C6C6F20576F726C64
字符串
2条答案
按热度按时间t5fffqht1#
展开结果对象的
Bytes
属性,将每个字节格式化为两位十六进制数,然后将它们连接起来:字符串
然而,编写一个自定义函数来将字符串转换为十六进制表示可能更简单,更直接:
型
k5ifujac2#
使用
Format-Hex
:字符串