PowerShell'de Base64 Dizesini Bayt Dizisine Nasıl Dönüştürürüm?


Bugün PowerShell'de Base64 dizesini bayt dizisine nasıl dönüştüreceğimi kontrol ediyordum. Çeşitli yöntemler denedim. Bu eğitimde size Base64 dizesini PowerShell'de bir bayt dizisine nasıl dönüştüreceğinizi örneklerle göstereceğim.

PowerShell'de bir Base64 dizesini bayt dizisine dönüştürmek için System.Convert sınıfının FromBase64String yöntemini kullanabilirsiniz. Örneğin, bir Base64 dizesi $base64String="SGVsbG8gV29ybGQh" verildiğinde, bunu $byteArray=[System.Convert]::FromBase64String($base64String) komutunu çalıştırarak dönüştürebilirsiniz. Bu yöntem, Base64 dizesinin kodunu PowerShell'deki eşdeğer bayt dizisine dönüştürür.

PowerShell'de Base64 Kodlaması nedir?

Base64, ASCII dize formatında ikili verileri temsil eden ikiliden metne kodlama şemasıdır. Genellikle metni işlemek üzere tasarlanmış ortamlar üzerinden aktarım için verileri kodlamak için kullanılır. Bu kodlama, verilerin taşıma sırasında değiştirilmeden bozulmadan kalmasını sağlamaya yardımcı olur.

PowerShell'de Base64 Dizesini Bayt Dizisine Dönüştürme

Şimdi size farklı yöntemler kullanarak PowerShell'de Base64 dizesini bayt dizisine nasıl dönüştüreceğinizi göstereyim.

Yöntem 1: System.Convert() Sınıfını Kullanma

Base64 dizesini PowerShell'de bir bayt dizisine dönüştürmenin en kolay yolu, bu tür dönüşümler için yerleşik yöntemler sağlayan System.Convert sınıfını kullanmaktır.

Örnek

Bunu daha iyi anlamak için basit bir örnek verelim:

# Base64 encoded string
$base64String = "SGVsbG8gV29ybGQh"

# Convert Base64 string to byte array
$byteArray = [System.Convert]::FromBase64String($base64String)

# Output the byte array
$byteArray

Bu örnekte, Base64 dizesi "SGVsbG8gV29ybGQh" ("Merhaba Dünya!"yı temsil eder), System'in FromBase64String yöntemi kullanılarak bir bayt dizisine dönüştürülür. Sınıfı dönüştürün. Bu yöntem, Base64 dizesinin kodunu eşdeğer 8 bitlik işaretsiz tamsayı dizisine dönüştürür.

Yukarıdaki PowerShell betiğini çalıştırdım ve çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:

PowerShell'de String'i Double'a Nasıl Dönüştüreceğinizi Okuyun?

Yöntem 2: Özel İşlevi Kullanma

Base64 String'i PowerShell'de Bayt Dizisine dönüştürmek için PowerShell'de özel bir işlev de oluşturabilirsiniz.

İşte bir örnek:

Örnek

function Convert-Base64ToByteArray {
    param (
        [string]$Base64String
    )

    return [System.Convert]::FromBase64String($Base64String)
}

# Base64 encoded string
$base64String = "SGVsbG8gV29ybGQh"

# Convert Base64 string to byte array using the custom function
$byteArray = Convert-Base64ToByteArray -Base64String $base64String

# Output the byte array
$byteArray

Bu özel işlev, Convert-Base64ToByteArray, giriş olarak bir Base64 dizesini alır ve karşılık gelen bayt dizisini döndürür. Bu yaklaşım, betiği daha modüler ve bakımı kolay hale getirir.

Yukarıdaki PowerShell betiğini çalıştırdıktan sonra çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz.

PowerShell'de String'i Hashtable'a Dönüştür'e göz atın

Yöntem 3: System.Text.Encoding'i kullanma

Farklı metin kodlamalarıyla uğraşmak isteyenler için System.Text.Encoding sınıfı Base64 dönüşümleriyle birlikte kullanılabilir. Bu yöntem, çeşitli karakter kodlamalarıyla uğraşırken daha gelişmiş ve kullanışlıdır.

Örnek

İşte bir örnek.

# Base64 encoded string
$base64String = "SGVsbG8gV29ybGQh"

# Convert Base64 string to byte array
$byteArray = [System.Convert]::FromBase64String($base64String)

# Convert byte array to string (UTF8 encoding)
$utf8String = [System.Text.Encoding]::UTF8.GetString($byteArray)

# Output the UTF8 string
$utf8String

Bu örnekte, Base64 dizesini bir bayt dizisine dönüştürdükten sonra bayt dizisi, System.Text.Encoding sınıfı kullanılarak bir UTF8 dizesine de dönüştürülür. Bu, daha fazla yeniden kodlanması veya işlenmesi gereken metin verileriyle uğraşırken özellikle yararlı olabilir.

Çözüm

Bu eğitimde, çeşitli yöntemler kullanarak Base64 dizesini PowerShell'de bayt dizisine nasıl dönüştüreceğimi anlattım.

  • System.Convert() Sınıfını Kullanma
  • Özel İşlevi Kullanma
  • System.Text.Encoding'i kullanma

İlgili makaleler