次の方法で共有


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

入力

String

このコマンドレットに文字列をパイプできます。

出力

ByteCollection

このコマンドレットは ByteCollection を 返します。 このオブジェクトは、バイトのコレクションを表します。 これには、バイトのコレクションを、返される出力の各行のように書式設定された文字列に変換するメソッドが Format-Hex含まれています。 Path または LiteralPath パラメーターを指定した場合、オブジェクトには各バイトを含むファイルのパスも含まれます。

メモ

Windows PowerShell には、次のエイリアスが Format-Hex含まれています。

  • fhx

出力の右端の列は、バイトを文字としてレンダリングしようとします。

一般に、各バイトは Unicode コード ポイントとして解釈されます。これは、次のことを意味します。

  • 印刷可能な ASCII 文字が常に正しくレンダリングされる
  • マルチバイト UTF-8 文字が正しくレンダリングされない
  • UTF-16 文字は、高次バイトが発生した場合にのみ正しくレンダリングされます NUL