Format-Hex
Wyświetla plik lub inne dane wejściowe jako szesnastkowe.
Składnia
Format-Hex
[-Path] <string[]>
[<CommonParameters>]
Format-Hex
-LiteralPath <string[]>
[<CommonParameters>]
Format-Hex
-InputObject <Object>
[-Encoding <string>]
[<CommonParameters>]
Opis
Polecenie Format-Hex
cmdlet wyświetla plik lub inne dane wejściowe jako wartości szesnastkowe. Aby określić przesunięcie znaku z danych wyjściowych, dodaj liczbę po lewej stronie wiersza do liczby w górnej części kolumny dla tego znaku.
Polecenie Format-Hex
cmdlet może ułatwić określenie typu pliku uszkodzonego pliku lub pliku, który może nie mieć rozszerzenia nazwy pliku. Możesz uruchomić to polecenie cmdlet, a następnie odczytać dane wyjściowe szesnastkowe, aby uzyskać informacje o pliku.
W przypadku korzystania z Format-Hex
pliku polecenie cmdlet ignoruje nowe znaki wiersza i zwraca całą zawartość pliku w jednym ciągu z zachowanymi znakami nowego wiersza.
Przykłady
Przykład 1. Pobieranie reprezentacji szesnastkowej ciągu
To polecenie zwraca wartości szesnastkowe ciągu.
'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
Ciąg Hello world jest wysyłany w dół potoku Format-Hex
do polecenia cmdlet. Dane wyjściowe szesnastkowe z Format-Hex
programu pokazują wartości każdego znaku w ciągu.
Przykład 2. Znajdowanie typu pliku z danych wyjściowych szesnastkowe
W tym przykładzie użyto danych wyjściowych szesnastkowej w celu określenia typu pliku. Polecenie cmdlet wyświetla pełną ścieżkę pliku i wartości szesnastkowe.
Aby przetestować następujące polecenie, utwórz kopię istniejącego pliku PDF na komputerze lokalnym i zmień nazwę skopiowanego pliku na 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
Polecenie Format-Hex
cmdlet używa parametru Ścieżka , aby określić nazwę pliku w bieżącym katalogu File.t7f. Rozszerzenie pliku t7f jest rzadkie, ale dane wyjściowe szesnastkowe %PDF pokazują, że jest to plik PDF.
Parametry
-Encoding
Określa kodowanie danych wyjściowych. Dotyczy to tylko [string]
danych wejściowych. Parametr nie ma wpływu na typy liczbowe. Wartość domyślna to ASCII.
Dopuszczalne wartości tego parametru są następujące:
- ASCII Używa zestawu znaków ASCII (7-bitowego).
- Bigendianunicode Używa utF-16 z kolejnością bajtów big-endian.
- Unicode Używa utF-16 z małą kolejnością bajtów endian.
- UTF7 Używa protokołu UTF-7.
- UTF8 Używa protokołu UTF-8.
- UTF32 Używa utF-32 z małą kolejnością bajtów.
Znaki inne niż ASCII w danych wejściowych są wyjściowe jako znaki literału ?
, co powoduje utratę informacji.
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
Służy do wprowadzania potoku. Dane wejściowe potoku obsługują tylko [string]
[system.io.fileinfo]
wystąpienia potoków z Get-ChildItem
systemu .
Type: | Object |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Określa pełną ścieżkę do pliku. Wartość LiterałuPath jest używana dokładnie tak, jak jest typowana. Ten parametr nie akceptuje symboli wieloznacznych. Aby określić wiele ścieżek do plików, rozdziel ścieżki przecinkami. Jeśli parametr LiteralPath zawiera znaki ucieczki, należy ująć ścieżkę w pojedynczy cudzysłów. Program PowerShell nie interpretuje żadnych znaków w jednym ciągu cytowanym jako sekwencje ucieczki. Aby uzyskać więcej informacji, zobacz about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Określa ścieżkę do plików. Użyj kropki (.
), aby określić bieżącą lokalizację. Symbol wieloznaczny (*
) jest akceptowany i może służyć do określania wszystkich elementów w lokalizacji. Jeśli parametr Path zawiera znaki ucieczki, należy ująć ścieżkę w pojedynczy cudzysłów. Aby określić wiele ścieżek do plików, rozdziel ścieżki przecinkami.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Dane wejściowe
Możesz przekazać ciąg do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca wartość ByteCollection. Ten obiekt reprezentuje kolekcję bajtów. Zawiera metody, które konwertują kolekcję bajtów na ciąg sformatowany tak jak każdy wiersz danych wyjściowych zwracanych przez Format-Hex
. Jeśli określisz parametr Path lub LiteralPath , obiekt zawiera również ścieżkę pliku zawierającego każdy bajt.
Uwagi
Prawa kolumna danych wyjściowych próbuje renderować bajty jako znaki:
Ogólnie rzecz biorąc, każdy bajt jest interpretowany jako punkt kodu Unicode, co oznacza, że:
- Znaki ASCII z możliwością drukowania są zawsze renderowane poprawnie
- Znaki UTF-8 z wieloma bajtami nigdy nie są poprawnie renderowane
- Znaki UTF-16 są renderowane poprawnie tylko wtedy, gdy ich bajt o wysokiej kolejności ma wartość
NUL
.