Format-Hex
ファイルまたはその他の入力を 16 進数で表示します。
構文
Format-Hex
[-Path] <string[]>
[<CommonParameters>]
Format-Hex
-LiteralPath <string[]>
[<CommonParameters>]
Format-Hex
-InputObject <Object>
[-Encoding <string>]
[-Raw]
[<CommonParameters>]
説明
コマンドレットは Format-Hex
、ファイルまたはその他の入力を 16 進数の値として表示します。 出力からの文字のオフセットを決定するには、行の左端にある数値を、その文字の列の先頭にある数値に追加します。
このコマンドレットは Format-Hex
、破損したファイルの種類、またはファイル名拡張子がない可能性のあるファイルを特定するのに役立ちます。 このコマンドレットを実行し、16 進数の出力を読み取ってファイル情報を取得できます。
ファイルで使用 Format-Hex
する場合、コマンドレットは改行文字を無視し、改行文字が保持されたファイルの内容全体を 1 つの文字列で返します。
例
例 1: 文字列の 16 進数表現を取得する
このコマンドは、文字列の 16 進値を返します。
'Hello World' | Format-Hex
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 48 65 6C 6C 6F 20 57 6F 72 6C 64 Hello World
文字列 Hello World は、パイプラインからコマンドレットに Format-Hex
送信されます。 16 進数の出力は Format-Hex
、文字列内の各文字の値を示しています。
例 2: 16 進数の出力からファイルの種類を検索する
この例では、16 進数の出力を使用してファイルの種類を決定します。 コマンドレットは、ファイルの完全なパスと 16 進数の値を表示します。
次のコマンドをテストするには、ローカル コンピューター上の既存の PDF ファイルのコピーを作成し、コピーしたファイルの名前を File.t7f に変更します。
Format-Hex -Path .\File.t7f
Path: C:\Test\File.t7f
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 25 50 44 46 2D 31 2E 35 0D 0A 25 B5 B5 B5 B5 0D %PDF-1.5..%????.
00000010 0A 31 20 30 20 6F 62 6A 0D 0A 3C 3C 2F 54 79 70 .1 0 obj..<</Typ
00000020 65 2F 43 61 74 61 6C 6F 67 2F 50 61 67 65 73 20 e/Catalog/Pages
このコマンドレットではFormat-Hex
、Path パラメーターを使用して、File.t7f
現在のディレクトリのファイル名を指定します。 ファイル拡張子 .t7f
は一般的ではありませんが、16 進数の出力 %PDF
は PDF ファイルであることを示しています。
例 3: 生の 16 進数出力を表示する
既定 Format-Hex
では、数値データ型のコンパクトな出力を選択します。値が十分に小さい場合は、1 バイトまたは 2 バイトのシーケンスが使用されます。 Raw パラメーターは、この動作を非アクティブ化します。
PS> 1,2,3,1000 | Format-Hex
Path:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 01 02 03 E8 03 ...è.
PS> 1,2,3,1000 | Format-Hex -Raw
Path:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 01 00 00 00 02 00 00 00 03 00 00 00 E8 03 00 00 ............è...
出力の違いに注目してください。 Raw パラメーターは、数値を 4 バイトの値として表示し、Int32 型に true を指定します。
パラメーター
-Encoding
出力のエンコードを指定します。 これは入力にのみ適用されます [string]
。 このパラメーターは数値型には影響しません。 既定値は ASCII
です。
このパラメーターに使用できる値は次のとおりです。
Ascii
ASCII (7 ビット) 文字セットを使用します。BigEndianUnicode
ビッグ エンディアンバイト順で UTF-16 を使用します。Unicode
リトル エンディアン バイト順で UTF-16 を使用します。UTF7
UTF-7 を使用します。UTF8
UTF-8 を使用します。UTF32
リトル エンディアンバイト順で UTF-32 を使用します。
入力内の ASCII 以外の文字はリテラル ?
文字として出力され、結果として情報が失われます。
Type: | String |
Accepted values: | ASCII, BigEndianUnicode, Unicode, UTF7, UTF8, UTF32 |
Position: | Named |
Default value: | ASCII |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
書式設定するオブジェクトを指定します。 オブジェクトが格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。
サポートされているスカラー型[system.io.fileinfo]
は特定のみです。
サポートされているスカラー型は次のとおりです。
[string]
[byte]
[int]
,[int32]
[long]
,[int64]
Type: | Object |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
ファイルへの完全なパスを指定します。 LiteralPath の値は、型指定されたとおりに使用されます。 このパラメーターは、ワイルドカード文字を受け入れません。 ファイルへの複数のパスを指定するには、パスをコンマで区切ります。 LiteralPath パラメーターにエスケープ文字が含まれている場合は、パスを単一引用符で囲みます。 PowerShell では、単一引用符で囲まれた文字列内の文字はエスケープ シーケンスとして解釈されません。 詳細については、「about_Quoting_Rules」を参照してください。
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
ファイルへのパスを指定します。 現在の場所を指定するには、ドット (.
) を使用します。 ワイルドカード文字 (*
) は受け入れられ、場所内のすべての項目を指定するために使用できます。 Path パラメーターにエスケープ文字が含まれている場合は、パスを単一引用符で囲みます。 ファイルへの複数のパスを指定するには、パスをコンマで区切ります。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Raw
既定 Format-Hex
では、数値データ型のコンパクトな出力を選択します。値が十分に小さい場合は、1 バイトまたは 2 バイトのシーケンスが使用されます。 Raw パラメーターは、この動作を非アクティブ化します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
このコマンドレットに文字列をパイプできます。
出力
このコマンドレットは ByteCollection を 返します。 このオブジェクトは、バイトのコレクションを表します。 これには、バイトのコレクションを、返される出力の各行のように書式設定された文字列に変換するメソッドが Format-Hex
含まれています。 Path または LiteralPath パラメーターを指定した場合、オブジェクトには各バイトを含むファイルのパスも含まれます。
メモ
Windows PowerShell には、次のエイリアスが Format-Hex
含まれています。
fhx
出力の右端の列は、バイトを文字としてレンダリングしようとします。
一般に、各バイトは Unicode コード ポイントとして解釈されます。これは、次のことを意味します。
- 印刷可能な ASCII 文字が常に正しくレンダリングされる
- マルチバイト UTF-8 文字が正しくレンダリングされない
- UTF-16 文字は、高次バイトが発生した場合にのみ正しくレンダリングされます
NUL
。
関連リンク
PowerShell