Text in Hexadecimal und Decimal Umwandlung in der PowerShell

ASCII Text in Hexadezimale Zeichen Konverter gibt es als Online Tool im Internet viele. Sollen sensible Daten beim Konvertieren im Internet nicht preisgegeben werden, empfiehlt sich die Umwandlung auf dem eigenen Rechner. Dazu braucht man nicht einmal ein Programm zu installieren, einfach zu bewerkstelligen ist es mit Hexadecimal und Decimal Umwandlung in der PowerShell.
Hierzu PowerShell öffnen und folgenden Befehl ausführen:
PS C:\> notepad $profile
Mit Notepad die Code Zeilen einfügen und speichern:
function text2hex($strg)
{
$txt = $strg.ToCharArray();
Foreach ($value in $txt) {$hex = $hex + ":" + [System.String]::Format("{0:X2}", [System.Convert]::ToUInt32($value))}
$hex
}
Text in Hexadecimal Umwandlung
PowerShell beenden und neu öffnen, nun kann der Befehl text2hex ausgeführt werden.
PS C:\> text2hex https://think.unblog.ch
:68:74:74:70:3A:2F:2F:74:68:69:6E:6B:2E:75:6E:62:6C:6F:67:2E:63:68
Decimal Hexadecimal Binary Umwandlung
Die Umwandlung von Decimal to Binary, Decimal to Hexadecimal und Hexadecimal to Decimal.
// Convert Decimal to Binary
function dec2bin($strg)
{
$dec = $strg
Foreach ($value in $dec) {$bin = [System.Convert]::ToString($value,2)}
$bin
}
// Convert Decimal to Hexadecimal
function dec2hex
{
param($DEC)
Foreach ($value in $DEC) {“{0:x}” -f [Int]$value}
}
// Convert Hexadecimal to Decimal
function hex2dec
{
param($HEX)
Foreach ($value in $HEX) {[Convert]::ToInt32($value,16)}
}
Anmerkung
Im Hexadezimalsystem werden Zahlen in einem Stellenwertsystem zur Basis 16 dargestellt. „Hexadecimal“ ist ein lateinisch-griechisches Mischwort.
Das Hexadezimalsystem eignet sich sehr gut, um Folgen von Bits (in der Digitaltechnik) darzustellen. Vier Stellen einer Bitfolge (ein Nibble) werden wie eine Dualzahl interpretiert und entsprechen so einer Ziffer des Hexadezimalsystems, da 16 die vierte Potenz von 2 ist. Die Hexadezimaldarstellung der Bitfolgen ist leichter zu lesen und schneller zu schreiben:
binär | hexadecimal | decimal |
---|---|---|
1111 | F | 15 |
1.1111 | 1F | 31 |
11.0111.1100.0101 | 37C5 | 14.277 |
1010.1100.1101.1100 | ACDC | 44.252 |
1.0000.0000.0000.0000 | 1.0000 | 65.536 |
1010.1111.1111.1110.0000.1000.0001.0101 | AFFE.0815 | 2.952.661.013 |
Umwandlung von Decimal in Hexadecimal
Eine Möglichkeit, eine Zahl des Dezimalsystems in eine Zahl des Hexadezimalsystems umzurechnen, ist die Betrachtung der Divisionsreste, die entstehen, wenn die Zahl durch die Basis 16 geteilt wird, die Methode wird daher auch Divisionsverfahren oder Restwertverfahren genannt.
Umwandlung von Hexadecimal in Decimal
Um eine Hexadezimalzahl in eine Dezimalzahl umzuwandeln, muss man die einzelnen Ziffern mit der jeweiligen Potenz der Basis multiplizieren. Der Exponent der Basis entspricht der Stelle der Ziffer, wobei der Zahl vor dem Komma eine Null zugeordnet wird. Dazu muss man allerdings noch die Ziffern A, B, C, D, E, F in die entsprechenden Dezimalzahlen 10, 11, 12, 13, 14, 15 umwandeln.