Nützliche Powershellfunktionen zum Hin- und Herkonvertieren in Base64 und Splitten einer Zeichenkette


Ohne viel blabla:

Function ConvertTo-Base64 {

    [CmdletBinding()]
    [OutputType([string])]
    Param (
        [string]$String
    )
    [System.Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($String))

}

Function ConvertFrom-Base64 {
 
    [CmdletBinding()]
    [OutputType([string])]
    Param (
        [string]$String
    )
    [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($String))

}

Function Split-String {

# splittet einen String in Blöcke mit einer bestimmten Länge

    [CmdletBinding()]
    Param (
        [parameter(Mandatory=$true)]
        [string]$String,
        [int]$BlockLength=60
    )
   
    $blocks = [System.Math]::Floor($String.Length / $BlockLength)
    $newString = ""

    for ($line = 0; $line -lt $blocks; $line++) {
        $newString += $String.Substring($line * $BlockLength, $BlockLength) + [System.Environment]::NewLine
    }

    If ($blocks * $BlockLength -lt $String.Length) {
        $newString += $String.Substring($blocks * $BlockLength)
    }

    $newString
}

Damit kann man eine Datei einlesen und in einen Base64-String umwandeln, etwas bearbeiten und wieder zurückwandeln:

$c=get-content -Raw C:\windows\win.ini
$b=ConvertTo-Base64 $c
# Split-String bricht den String nach 60 Zeichen um
$s=Split-String $b
$nc=ConvertFrom-Base64 (Split-String $s)
# Trotz Konvertierung und Splitten ist der konvertierte String identisch
$c -eq $nc

Eine Antwort to “Nützliche Powershellfunktionen zum Hin- und Herkonvertieren in Base64 und Splitten einer Zeichenkette”

  1. Quirel Says:

    Base64-Beschreibung: https://tools.ietf.org/html/rfc4648

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: