Format-Hex
Bir dosyayı veya diğer girişi onaltılık olarak görüntüler.
Sözdizimi
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
Format-Hex cmdlet'i bir dosyayı veya başka bir girişi onaltılık değerler olarak görüntüler. Bir karakterin çıkıştan uzaklığını belirlemek için, satırın en solundaki sayıyı bu karakterin sütununun en üstündeki sayıya ekleyin.
Format-Hex cmdlet'i bozuk bir dosyanın veya dosya adı uzantısı olmayan bir dosyanın dosya türünü belirlemenize yardımcı olabilir. Bu cmdlet'i çalıştırabilir ve ardından dosya bilgilerini almak için onaltılık çıktıyı okuyabilirsiniz.
Bir dosyada Format-Hex kullanırken, cmdlet yeni satır karakterlerini yoksayar ve bir dizedeki dosyanın tüm içeriğini yeni satır karakterleri korunarak döndürür.
Örnekler
Örnek 1: Dizenin onaltılık gösterimini alma
Bu komut bir dizenin onaltılık değerlerini döndürür.
'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
Hello World dizesi, işlem hattı Format-Hex cmdlet'ine gönderilir.
Format-Hex'den alınan onaltılık çıkış, dizedeki her karakterin değerlerini gösterir.
Örnek 2: Onaltılık çıktıdan dosya türü bulma
Bu örnek, dosya türünü belirlemek için onaltılık çıkışı kullanır. Cmdlet dosyanın tam yolunu ve onaltılık değerleri görüntüler.
Aşağıdaki komutu test etmek için, yerel bilgisayarınızda var olan bir PDF dosyasının kopyasını oluşturun ve kopyalanan dosyayı File.t7folarak yeniden adlandırın.
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
Format-Hex cmdlet'i geçerli dizinde bir dosya adı belirtmek için File.t7f parametresini kullanır. Dosya uzantısı .t7f yaygın değildir, ancak onaltılık çıktı %PDF bunun bir PDF dosyası olduğunu gösterir. Bu örnekte, çıktıyı dosyanın ilk 48 baytıyla sınırlamak için Count parametresi kullanılır.
Örnek 3: Farklı veri türlerinden oluşan bir diziyi biçimlendirme
Bu örnekte, Format-Hex işlem hattında bunları nasıl işlediğini vurgulamak için farklı veri türlerinden oluşan bir dizi kullanılır.
Her nesneyi İşlem Hattı'na geçirir ve tek tek işler. Ancak, sayısal verilerse ve bitişik nesne de sayısalsa, bunları tek bir çıkış bloğunda gruplandırır.
'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 �
Parametreler
-Count
Bu, onaltılık çıktıya eklenecek bayt sayısını temsil eder.
Bu parametre PowerShell 6.2'de kullanıma sunulmuştur.
Parametre özellikleri
| Tür: | Int64 |
| Default value: | Int64.MaxValue |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Encoding
Giriş dizelerinin kodlamasını belirtir. Bu yalnızca [string] giriş için geçerlidir. parametresinin sayısal türler üzerinde hiçbir etkisi yoktur. Çıkış değeri her zaman utf8NoBOM.
Bu parametre için kabul edilebilir değerler aşağıdaki gibidir:
-
ascii: ASCII (7 bit) karakter kümesi için kodlamayı kullanır. -
ansi: Geçerli kültürün ANSI kod sayfasının kodlamasını kullanır. Bu seçenek PowerShell 7.4'e eklendi. -
bigendianunicode: Büyük endian bayt sırasını kullanarak UTF-16 biçiminde kodlar. -
bigendianutf32: Büyük endian bayt sırasını kullanarak UTF-32 biçiminde kodlar. -
oem: MS-DOS ve konsol programları için varsayılan kodlamayı kullanır. -
unicode: Küçük-öncelikli bayt sırası kullanılarak UTF-16 biçiminde kodlanır. -
utf7: UTF-7 biçiminde kodlar. -
utf8: UTF-8 biçiminde kodlar. -
utf8BOM: Bayt Sırası İşareti (BOM) ile UTF-8 biçiminde kodlar -
utf8NoBOM: Bayt Sırası İşareti (BOM) olmadan UTF-8 biçiminde kodlar -
utf32: UTF-32 biçiminde kodlar.
PowerShell 6.2'den başlayarak, Kodlama parametresi, kayıtlı kod sayfalarının sayısal kimliklerine (-Encoding 1251gibi) veya kayıtlı kod sayfalarının dize adlarına (-Encoding "windows-1251"gibi) de izin verir. Daha fazla bilgi için Encoding.CodePageiçin .NET belgelerine bakın.
PowerShell 7.4'den başlayarak, Ansi parametresinin değerini kullanarak geçerli kültürün ANSI kod sayfasının sayısal kimliğini el ile belirtmek zorunda kalmadan geçirebilirsiniz.
Uyarı
UTF-7* artık kullanılması önerilmez. PowerShell 7.1'den itibaren, utf7 parametresi için belirtirseniz bir uyarı yazılır.
Parametre özellikleri
| Tür: | Encoding |
| Default value: | UTF8NoBOM |
| Kabul edilen değerler: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
ByInputObject
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-InputObject
Biçimlendirilecek nesneleri belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın.
Yalnızca belirli skaler türleri ve [System.IO.FileInfo] desteklenir.
Desteklenen skaler türler şunlardır:
-
[string],[char] -
[byte],[sbyte] -
[int16],[uint16],[short],[ushort] -
[int],[uint],[int32],[uint32], , -
[long],[ulong],[int64],[uint64] -
[single],[float],[double] [boolean]
PowerShell 6.2'den önce, Format-Hex nesneleri gruplandırarak birden çok giriş türüne sahip bir İşlem Hattı girişini işleyecekti. Şimdi, İşlem Hattı'nda geçiş yaparken her bir nesneyi işler ve nesneler bitişik olmadığı sürece nesneleri birlikte gruplandırmayacaktır.
Parametre özellikleri
| Tür: | PSObject |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
ByInputObject
| Position: | Named |
| Zorunlu: | True |
| İşlem hattından gelen değer: | True |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-LiteralPath
Dosyanın tam yolunu belirtir. LiteralPath değeri tam olarak yazıldığı gibi kullanılır. Bu parametre joker karakter kabul etmez. Dosyaların birden çok yolunu belirtmek için yolları virgülle ayırın. LiteralPath parametresi kaçış karakterleri içeriyorsa, yolu tek tırnak içine alın. PowerShell, tek tırnak içine alınmış bir dizedeki karakterleri kaçış dizisi olarak yorumlamaz. Daha fazla bilgi için bkz. about_Quoting_Rules.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | PSPath, LP |
Parametre kümeleri
LiteralPath
| Position: | Named |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Offset
Bu, onaltılık çıkışın parçası olmaktan atlana bayt sayısını temsil eder.
Bu parametre PowerShell 6.2'de kullanıma sunulmuştur.
Parametre özellikleri
| Tür: | Int64 |
| Default value: | 0 |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Path
Dosyaların yolunu belirtir. Geçerli konumu belirtmek için nokta (.) kullanın. Joker karakter (*) kabul edilir ve bir konumdaki tüm öğeleri belirtmek için kullanılabilir.
Yolu parametresi kaçış karakterleri içeriyorsa, yolu tek tırnak içine alın. Dosyaların birden çok yolunu belirtmek için yolları virgülle ayırın.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | True |
| DontShow: | False |
Parametre kümeleri
Path
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Raw
Bu parametre artık hiçbir şey yapmaz. Betik uyumluluğu için korunur.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
ByInputObject
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
String
Bir dizeyi bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
ByteCollection
Bu cmdlet bir ByteCollectiondöndürür. Bu nesne bir bayt koleksiyonunu temsil eder. Bayt koleksiyonunu, Format-Hextarafından döndürülen her çıktı satırı gibi biçimlendirilmiş bir dizeye dönüştüren yöntemleri içerir. Çıkış, işlenen bayt türlerini de belirtir.
Path veya LiteralPath parametresini belirtirseniz, nesne her bayt içeren dosyanın yolunu içerir. Bir dize, boole, tamsayı vb. geçirirseniz, uygun şekilde etiketlenir.
Notlar
PowerShell, Format-Hexiçin aşağıdaki diğer adları içerir:
- Tüm platformlar:
fhx
Çıktının en sağdaki sütunu baytları ASCII karakterleri olarak işlemeye çalışır:
Genel olarak, her bayt bir Unicode kod noktası olarak yorumlanır, yani:
- Yazdırılabilir ASCII karakterleri her zaman doğru işlenir
- Çok baytlı UTF-8 karakterleri hiçbir zaman doğru şekilde işlenmez
- UTF-16 karakterleri yalnızca yüksek sıralı baytları
NULolduğunda doğru şekilde işlenir.