Format-Hex
Hexadecimálisként jeleníti meg a fájlt vagy más bemenetet.
Syntax
Path
Format-Hex
[-Path] <String[]>
[-Count <Int64>]
[-Offset <Int64>]
[<CommonParameters>]
LiteralPath
Format-Hex
-LiteralPath <String[]>
[-Count <Int64>]
[-Offset <Int64>]
[<CommonParameters>]
ByInputObject
Format-Hex
-InputObject <PSObject>
[-Encoding <Encoding>]
[-Count <Int64>]
[-Offset <Int64>]
[-Raw]
[<CommonParameters>]
Description
A Format-Hex parancsmag hexadecimális értékként jelenít meg egy fájlt vagy más bemenetet. Ha meg szeretné határozni egy karakter eltolását a kimenetből, adja hozzá a sor bal szélső számát a karakter oszlopának tetején lévő számhoz.
A Format-Hex parancsmag segíthet meghatározni egy sérült vagy esetleg nem fájlnévkiterjesztéssel rendelkező fájl fájltípusát. Futtassa ezt a parancsmagot, majd olvassa el a hexadecimális kimenetet a fájlinformációk lekéréséhez.
Ha Format-Hex használ egy fájlban, a parancsmag figyelmen kívül hagyja az új sor karaktereit, és egy fájl teljes tartalmát egy sztringben adja vissza, az új sor karaktereit megőrzve.
Példák
1. példa: Sztring hexadecimális ábrázolásának lekérése
Ez a parancs egy sztring hexadecimális értékeit adja vissza.
'Hello World' | Format-Hex
Label: String (System.String) <2944BEC3>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 48 65 6C 6C 6F 20 57 6F 72 6C 64 Hello World
A rendszer a Hello World sztringet küldi le a Format-Hex parancsmagba. A Format-Hex hexadecimális kimenete a sztring egyes karaktereinek értékeit jeleníti meg.
2. példa: Fájltípus keresése hexadecimális kimenetből
Ez a példa a hexadecimális kimenetet használja a fájltípus meghatározásához. A parancsmag megjeleníti a fájl teljes elérési útját és a hexadecimális értékeket.
A következő parancs teszteléséhez készítsen másolatot egy meglévő PDF-fájlról a helyi számítógépen, és nevezze át a másolt fájlt File.t7f.
Format-Hex -Path .\File.t7f -Count 48
Label: C:\Test\File.t7f
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 25 50 44 46 2D 31 2E 35 0D 0A 25 B5 B5 B5 B5 0D %PDF-1.5..%????.
0000000000000010 0A 31 20 30 20 6F 62 6A 0D 0A 3C 3C 2F 54 79 70 .1 0 obj..<</Typ
0000000000000020 65 2F 43 61 74 61 6C 6F 67 2F 50 61 67 65 73 20 e/Catalog/Pages
A Format-Hex parancsmag a Path paraméterrel adja meg a fájlnevet az aktuális könyvtárban, File.t7f. A fájlkiterjesztés .t7f nem gyakori, de a hexadecimális kimenet %PDF azt mutatja, hogy pdf-fájl. Ebben a példában a Darabszám paraméter a fájl első 48 bájtjára korlátozza a kimenetet.
3. példa: Különböző adattípusok tömbjének formázása
Ez a példa különböző adattípusok tömbje segítségével emeli ki, hogy Format-Hex hogyan kezeli őket a folyamaton belül.
Az egyes objektumokat a folyamaton keresztül továbbítja, és egyenként dolgozza fel. Ha azonban numerikus adatokról van szó, és a szomszédos objektum is numerikus, azokat egyetlen kimeneti blokkba csoportosítja.
'Hello world!', 1, 1138, 'foo', 'bar', 0xdeadbeef, 1gb, 0b1101011100 , $true, $false |
Format-Hex
Label: String (System.String) <24F1F0A3>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 48 65 6C 6C 6F 20 77 6F 72 6C 64 21 Hello world!
Label: Int32 (System.Int32) <2EB933C5>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 01 00 00 00 72 04 00 00 � r�
Label: String (System.String) <4078B66C>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 66 6F 6F foo
Label: String (System.String) <51E4A317>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 62 61 72 bar
Label: Int32 (System.Int32) <5ADF167B>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 EF BE AD DE 00 00 00 40 5C 03 00 00 ï¾-Þ @\�
Label: Boolean (System.Boolean) <7D8C4C1D>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 01 00 00 00 00 00 00 00 �
Paraméterek
-Count
Ez a hexa kimenetbe belefoglalandó bájtok számát jelöli.
Ez a paraméter a PowerShell 6.2-ben lett bevezetve.
Paramétertulajdonságok
| Típus: | Int64 |
| Alapértelmezett érték: | Int64.MaxValue |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Encoding
Megadja a bemeneti sztringek kódolását. Ez csak [string] bemenetre vonatkozik. A paraméter nincs hatással a numerikus típusokra. A kimeneti érték mindig utf8NoBOM.
A paraméter elfogadható értékei a következők:
-
ascii: Az ASCII (7 bites) karakterkészlet kódolását használja. -
ansi: Az aktuális kultúra ANSI-kódlapjának kódolását használja. Ez a beállítás a PowerShell 7.4-ben lett hozzáadva. -
bigendianunicode: Az UTF-16 formátumú kódolást a big-endian bájtsorrend alkalmazásával végzi. -
bigendianutf32: UTF-32 formátumban kódol nagyvégű bájtsorrend használatával. -
oem: Az alapértelmezett kódolást használja MS-DOS és konzolprogramokhoz. -
unicode: Az UTF-16 formátumban kódol kis végű bájtsorrend használatával. -
utf7: UTF-7 formátumban kódol. -
utf8: UTF-8 formátumban kódol. -
utf8BOM: UTF-8 formátumban kódolódik bájt sorrendi jel (BOM) használatával -
utf8NoBOM: UTF-8 formátumban kódol byte order mark (BOM) nélkül -
utf32: UTF-32 formátumban kódol.
A PowerShell 6.2-től kezdődően a Kódolás paraméter lehetővé teszi a regisztrált kódlapok (például -Encoding 1251) numerikus azonosítóit vagy a regisztrált kódlapok sztringneveit (például -Encoding "windows-1251"). További információt a Encoding.CodePage.NET-dokumentációjában talál.
A PowerShell 7.4-től kezdve a Ansi paraméter értékével anélkül adhat meg numerikus azonosítót az aktuális kultúra ANSI-kódlapjához, hogy manuálisan kellene megadnia.
Megjegyzés:
UTF-7* már nem ajánlott. PowerShell 7.1-től kezdve figyelmeztetés jelenik meg, ha utf7-et ad meg a kódolás paraméterhez.
Paramétertulajdonságok
| Típus: | Encoding |
| Alapértelmezett érték: | UTF8NoBOM |
| Elfogadott értékek: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ByInputObject
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-InputObject
Megadja a formázandó objektumokat. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat.
Csak bizonyos skaláris típusok és [System.IO.FileInfo] támogatottak.
A támogatott skaláris típusok a következők:
-
[string],[char] -
[byte],[sbyte] -
[int16],[uint16],[short],[ushort] -
[int],[uint],[int32],[uint32] -
[long],[ulong],[int64],[uint64] - \
, \ , \ [boolean]
A PowerShell 6.2 előtt a Format-Hex több bemeneti típussal rendelkező folyamatbemenetet kezelne úgy, hogy az összes objektumot egymáshoz hasonlóan csoportosítja. Most minden egyes objektumot kezel, miközben áthalad a folyamaton, és nem csoportosítja az objektumokat, kivéve, ha a hasonló objektumok szomszédosak.
Paramétertulajdonságok
| Típus: | PSObject |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ByInputObject
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-LiteralPath
Megadja a fájl teljes elérési útját. A LiteralPath értéke pontosan a beíráskor használatos. Ez a paraméter nem fogad el helyettesítő karaktereket. Ha több elérési utat szeretne megadni a fájlokhoz, válassza el az elérési utakat vesszővel. Ha a LiteralPath paraméter tartalmaz feloldó karaktereket, az elérési utat egyetlen idézőjelbe kell foglalnia. A PowerShell egyetlen idézett sztringben lévő karaktereket nem értelmez menekülési sorozatként. További információk az about_Quoting_Rules oldalon találhatók: .
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | PSPath, LP |
Paraméterkészletek
LiteralPath
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Offset
Ez a kihagyandó bájtok számát jelöli a hexa kimenet részeként.
Ez a paraméter a PowerShell 6.2-ben lett bevezetve.
Paramétertulajdonságok
| Típus: | Int64 |
| Alapértelmezett érték: | 0 |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Path
Megadja a fájlok elérési útját. Az aktuális hely megadásához használjon egy pont (.) értéket. A helyettesítő karakter (*) elfogadott, és a hely összes elemének megadására használható. Ha a Elérési út paraméter tartalmaz feloldó karaktereket, az elérési utat egyetlen idézőjelbe kell foglalnia. Ha több elérési utat szeretne megadni a fájlokhoz, válassza el az elérési utakat vesszővel.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
Path
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Raw
Ez a paraméter már nem végez semmit. A szkriptkompatibilitás érdekében megmarad.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ByInputObject
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
String
Ehhez a parancsmaghoz karakterláncot irányíthat át.
Kimenetek
ByteCollection
Ez a parancsmag egy ByteCollectionad vissza. Ez az objektum bájtok gyűjteményét jelöli. Olyan metódusokat tartalmaz, amelyek a bájtok gyűjteményét a Format-Hexáltal visszaadott kimenetsorhoz hasonlóan formázott sztringgé alakítják át. A kimenet azt is jelzi, hogy a feldolgozandó bájtok típusa. Ha megadja a Path vagy LiteralPath paramétert, az objektum tartalmazza az egyes bájtokat tartalmazó fájl elérési útját. Ha egy sztringet, logikai értéket, egész számot stb. ad át, az megfelelően lesz megjelölve.
Jegyzetek
A PowerShell a következő aliasokat tartalmazza Format-Hex:
- Minden platform:
fhx
A kimenet jobb szélső oszlopa ASCII-karakterekként próbálja megjeleníteni a bájtokat:
Általában minden bájt Unicode kódpontként van értelmezve, ami azt jelenti, hogy:
- A nyomtatható ASCII-karakterek mindig megfelelően jelennek meg
- A több bájtos UTF-8 karakterek soha nem jelennek meg megfelelően
- Az UTF-16 karakterek csak akkor jelennek meg helyesen, ha a nagy sorrendű bájtjuk
NUL.