Format-Hex für Powershell


Soviel man mit Powershell auch machen kann eine entscheidende Funktion die fehlt ist Format-Hex, um z. B. eine Datei oder ein Bytearray als Hexdump ausgeben zu können.

Aber wie immer gibt es Lösungen im Internet. So hat Lee Holmes die Funktion bereits gebaut. Die Version ist gut aber besser ist die etwas erweiterte und fehlerbereinigte Version, die hier zu finden ist: https://gist.github.com/newyear2006/aae98d1c9c2fbdaba179.

Damit kann man ganz einfach Dinge machen wie z. B.

"Hallo Welt"| Format-Hex

Was dann zur Ausgabe hat:

          0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F

00000000 48 00 61 00 6C 00 6C 00 6F 00 20 00 57 00 65 00  H.a.l.l.o. .W.e.
00000010 6C 00 74 00                                      l.t.
          

Mit dem Paramter –NoHeader sieht es dann so aus:

00000000 48 00 61 00 6C 00 6C 00 6F 00 20 00 57 00 65 00  H.a.l.l.o. .W.e.
00000010 6C 00 74 00                                      l.t.
          

Mit zusätzlicher Angabe von –NoCounter siehts so aus:

48 00 61 00 6C 00 6C 00 6F 00 20 00 57 00 65 00  H.a.l.l.o. .W.e.
6C 00 74 00                                      l.t.
          

Aber man ist nicht begrenzt auf die Ausgabe von Strings, sondern kann auch Bytearrays ausgeben:

$text = "Hallo Wörld!"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($text)
$bytes | Format-Hex -NoHeader -NoCounter

sieht dann so aus:

48 61 6C 6C 6F 20 57 C3 B6 72 6C 64 21       Hallo Wörld!

Hier sieht man nun deutlich die Umwandlung des ö in zwei Bytes bei UTF8 mittels C3 B6.

Hier gibts noch weitere Powershell Hex-Funktionen: https://newyear2006.wordpress.com/2011/06/20/powershell-und-byte-array-sowie-hex-funktionen/

Eine Antwort to “Format-Hex für Powershell”

  1. Quirel Says:

    Weitere Varianten, vor allem um auch einen String in Binary zurückzuwandeln: http://en-us.sysadmins.lv/Lists/Posts/Post.aspx?List=332991f0-bfed-4143-9eea-f521167d287c&ID=145

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s


%d Bloggern gefällt das: