Format-Hex
Menampilkan file atau input lain sebagai heksadesimal.
Sintaks
Format-Hex
[-Path] <string[]>
[<CommonParameters>]
Format-Hex
-LiteralPath <string[]>
[<CommonParameters>]
Format-Hex
-InputObject <Object>
[-Encoding <string>]
[-Raw]
[<CommonParameters>]
Deskripsi
Format-Hex
Cmdlet menampilkan file atau input lain sebagai nilai heksadesimal. Untuk menentukan offset karakter dari output, tambahkan angka di paling kiri baris ke angka di bagian atas kolom untuk karakter tersebut.
Format-Hex
Cmdlet dapat membantu Anda menentukan jenis file yang rusak atau file yang mungkin tidak memiliki ekstensi nama file. Anda dapat menjalankan cmdlet ini, lalu membaca output heksadesimal untuk mendapatkan informasi file.
Saat menggunakan Format-Hex
pada file, cmdlet mengabaikan karakter baris baru dan mengembalikan seluruh konten file dalam satu string dengan karakter baris baru yang dipertahankan.
Contoh
Contoh 1: Dapatkan representasi heksadesimal dari string
Perintah ini mengembalikan nilai heksadesimal dari string.
'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
String Halo Dunia dikirimkan alur ke Format-Hex
cmdlet. Output heksadesimal dari Format-Hex
menunjukkan nilai setiap karakter dalam string.
Contoh 2: Temukan jenis file dari output heksadesimal
Contoh ini menggunakan output heksadesimal untuk menentukan jenis file. Cmdlet menampilkan jalur lengkap file dan nilai heksadesimal.
Untuk menguji perintah berikut, buat salinan file PDF yang ada di komputer lokal Anda dan ganti nama file yang disalin menjadi 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
Cmdlet menggunakan parameter Jalur untuk menentukan nama file di direktori saat ini, File.t7f
. Ekstensi .t7f
file jarang terjadi, tetapi output %PDF
heksadesimal menunjukkan bahwa itu adalah file PDF.
Contoh 3: Menampilkan output heksadesimal mentah
Secara default Format-Hex
memilih output yang ringkas dari jenis data numerik: urutan byte tunggal atau byte ganda digunakan jika nilainya cukup kecil. Parameter Mentah menonaktifkan perilaku ini.
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 ............è...
Perhatikan perbedaan output. Parameter Mentah menampilkan angka sebagai nilai 4-byte, benar untuk jenis Int32-nya.
Parameter
-Encoding
Menentukan pengodean output. Ini hanya berlaku untuk [string]
input. Parameter tidak berpengaruh pada jenis numerik. Nilai defaultnya adalah ASCII
.
Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:
Ascii
Menggunakan set karakter ASCII (7-bit).BigEndianUnicode
Menggunakan UTF-16 dengan urutan byte big-endian.Unicode
Menggunakan UTF-16 dengan urutan byte little-endian.UTF7
Menggunakan UTF-7.UTF8
Menggunakan UTF-8.UTF32
Menggunakan UTF-32 dengan urutan byte little-endian.
Karakter non-ASCII dalam input adalah output sebagai karakter harfiah ?
yang mengakibatkan hilangnya informasi.
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
Menentukan objek yang akan diformat. Masukkan variabel yang berisi objek atau ketik perintah atau ekspresi yang mendapatkan objek.
Hanya jenis skalar tertentu dan [system.io.fileinfo]
didukung.
Jenis skalar yang didukung adalah:
[string]
[byte]
[int]
,[int32]
[long]
,[int64]
Type: | Object |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Menentukan jalur lengkap ke file. Nilai LiteralPath digunakan persis seperti yang ditik. Parameter ini tidak menerima karakter kartubebas. Untuk menentukan beberapa jalur ke file, pisahkan jalur dengan koma. Jika parameter LiteralPath menyertakan karakter escape, sertakan jalur dalam tanda kutip tunggal. PowerShell tidak menginterpretasikan karakter apa pun dalam satu string yang dikutip sebagai urutan escape. Untuk informasi selengkapnya, lihat about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Menentukan jalur ke file. Gunakan titik (.
) untuk menentukan lokasi saat ini. Karakter kartubebas (*
) diterima dan dapat digunakan untuk menentukan semua item di lokasi. Jika parameter Jalur menyertakan karakter escape, sertakan jalur dalam tanda kutip tunggal. Untuk menentukan beberapa jalur ke file, pisahkan jalur dengan koma.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Raw
Secara default Format-Hex
memilih output yang ringkas dari jenis data numerik: urutan byte tunggal atau byte ganda digunakan jika nilainya cukup kecil. Parameter Mentah menonaktifkan perilaku ini.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Anda dapat menyalurkan string ke cmdlet ini.
Output
Cmdlet ini mengembalikan ByteCollection. Objek ini mewakili kumpulan byte. Ini termasuk metode yang mengonversi kumpulan byte menjadi string yang diformat seperti setiap baris output yang dikembalikan oleh Format-Hex
. Jika Anda menentukan parameter Path atau LiteralPath , objek juga berisi jalur file yang berisi setiap byte.
Catatan
Windows PowerShell menyertakan alias berikut untuk Format-Hex
:
fhx
Kolom output paling kanan mencoba merender byte sebagai karakter:
Umumnya, setiap byte ditafsirkan sebagai titik kode Unicode, yang berarti bahwa:
- Karakter ASCII yang dapat dicetak selalu dirender dengan benar
- Karakter UTF-8 multi-byte tidak pernah dirender dengan benar
- Karakter UTF-16 dirender dengan benar hanya jika byte urutan tingginya terjadi adalah
NUL
.