PowerShell'de Baytları Base64 Dizesine Dönüştürme
Base64 kodlaması, ikili verileri ASCII dize biçiminde temsil etmek için kullanılan yaygın bir tekniktir. Bu, özellikle e-posta veya JSON gibi metin tabanlı protokoller için ikili verileri kodlamanız gerektiğinde kullanışlıdır. PowerShell'de baytların Base64 dizesine dönüştürülmesi yerleşik .NET yöntemleri kullanılarak verimli bir şekilde yapılabilir. Bu eğitimde size farklı yöntemler kullanarak PowerShell'de baytları base64 dizesine nasıl dönüştüreceğinizi göstereceğim.
PowerShell'de baytları Base64 dizesine dönüştürmek için System.Convert sınıfını kullanabilirsiniz. Öncelikle bir bayt dizisi oluşturun ve ardından bunu kodlamak için [System.Convert]::ToBase64String($byteArray) öğesini kullanın. Örneğin, $byteArray=[byte[]](1, 2, 3, 4, 5); $base64String=[System.Convert]::ToBase64String($byteArray); Yazma Çıkışı $base64String.
PowerShell'de Baytları Base64 Dizesine Dönüştürme
Şimdi size aşağıdaki yöntemleri kullanarak PowerShell'de Base64 dizesinin baytlarını nasıl dönüştüreceğinizi göstereyim.
Yöntem 1: System.Convert Sınıfını Kullanma
PowerShell'de bir bayt dizisini Base64 dizesine dönüştürmenin en iyi yolu System.Convert sınıfını kullanmaktır. Bu yöntem basittir ve güçlü .NET çerçevesinden yararlanır. Size bir örnek göstereyim.
Örnek:
# Sample byte array
$byteArray = [byte[]](1, 2, 3, 4, 5)
# Convert byte array to Base64 string
$base64String = [System.Convert]::ToBase64String($byteArray)
# Output the Base64 string
Write-Output $base64String
Bu örnekte öncelikle örnek bir bayt dizisi oluşturuyoruz. Daha sonra bayt dizisini bir Base64 dizesine kodlamak için System.Convert sınıfının ToBase64String yöntemini kullanırız. Son olarak Base64 stringinin çıktısını alıyoruz.
Yukarıdaki PowerShell betiğini VS kodunu kullanarak çalıştırdıktan sonra aşağıdaki ekran görüntüsündeki çıktıyı görüyorsunuz.
PowerShell'de String'i Double'a Dönüştür'e göz atın
Yöntem 2: Dosya Okuma ve Base64'e Kodlama
Bazen bir dosyanın içeriğini okuyup onu Base64 dizesine dönüştürmeniz gerekebilir. Bu, dosyayı bir bayt dizisine okuyarak ve ardından System.Convert sınıfını kullanarak yapılabilir.
Bunu daha iyi anlamak için bir örnek verelim.
Örnek:
# Path to the file
$filePath = "C:\MyFolder\file.txt"
# Read the file into a byte array
$byteArray = [System.IO.File]::ReadAllBytes($filePath)
# Convert byte array to Base64 string
$base64String = [System.Convert]::ToBase64String($byteArray)
# Output the Base64 string
Write-Output $base64StringBu örnekte, System.IO.File sınıfının ReadAllBytes yöntemini kullanarak bir dosyanın içeriğini bir bayt dizisine okuduk. Daha sonra bayt dizisini ToBase64String yöntemini kullanarak Base64 stringine dönüştürüyoruz.
PowerShell'de Dizeyi Hashtable'a Nasıl Dönüştüreceğinizi Okuyun?
Yöntem 3: Bir Dizeyi Base64'e Kodlayın
Base64'e kodlamak istediğiniz bir dizeniz varsa, öncelikle dizeyi bir bayt dizisine dönüştürmeniz gerekir. Bu, System.Text.Encoding sınıfının GetBytes yöntemi kullanılarak yapılabilir.
Size bunun nasıl çalıştığına dair bir örnek göstereyim.
Örnek:
# Sample string
$string = "Hello, World!"
# Convert string to byte array
$byteArray = [System.Text.Encoding]::UTF8.GetBytes($string)
# Convert byte array to Base64 string
$base64String = [System.Convert]::ToBase64String($byteArray)
# Output the Base64 string
Write-Output $base64StringBurada örnek bir dizeyi UTF-8 kodlamasını kullanarak bir bayt dizisine dönüştürüyoruz. Daha sonra bayt dizisini ToBase64String yöntemini kullanarak bir Base64 dizesine kodluyoruz.
Yukarıdaki PowerShell betiğini yürüttükten sonra aşağıdaki ekran görüntüsündeki çıktı.
PowerShell'de Dizeyi JSON'a Nasıl Dönüştüreceğinizi inceleyin?
Yöntem 4: ConvertTo-Base64 Cmdlet'ini Kullanma
PowerShell Core (7.0 ve üzeri) kullananlar için bu işlemi kolaylaştıran yerleşik bir ConvertTo-Base64 cmdlet'i vardır.
İşte bir örnek.
Örnek:
# Sample byte array
$byteArray = [byte[]](1, 2, 3, 4, 5)
# Convert byte array to Base64 string using ConvertTo-Base64
$base64String = $byteArray | ConvertTo-Base64
# Output the Base64 string
Write-Output $base64StringBu örnekte, bir bayt dizisini doğrudan Base64 dizesine kodlamak için ConvertTo-Base64 cmdlet'ini kullanıyoruz.
Çözüm
Bu eğitimde, farklı yöntemler kullanarak PowerShell'de Baytları Base64 Dizelerine nasıl dönüştüreceğimi anlattım. Ancak, Taking System.Convert Class yöntemini kullanmanızı öneririm. Umarım bu yardımcı olur.

