PowerShell'de String'i Base64'e Nasıl Dönüştürürüm?
Son zamanlarda müşterim bizden string'i base64'e dönüştürme gereksinimi istedi. Bunun için PowerShell'i kullandık. Bu eğitimde size örneklerle farklı yöntemler kullanarak PowerShell'de string'i base64'e nasıl dönüştüreceğinizi göstereceğim.
PowerShell'de bir dizeyi Base64'e dönüştürmek için [System.Convert] sınıfını kullanabilirsiniz. İlk önce, [System.Text.Encoding]::UTF8.GetBytes($string) kullanarak dizeyi bir bayt dizisine dönüştürün, ardından onu [System.Convert]::ToBase64String($bytes) ile Base64'e kodlayın. Örneğin:
$string = "Hello, World!"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($string)
$base64String = [System.Convert]::ToBase64String($bytes)
$base64StringBu, orijinal metnin Base64 kodlu dizesini üretecektir.
Base64 Kodlaması Nedir?
Base64 kodlaması, ikili verileri bir radix-64 temsiline çevirerek ASCII dize biçimine dönüştürmek için kullanılan bir yöntemdir. Bu, özellikle metni işlemek üzere tasarlanmış ortamlar üzerinde saklanması ve aktarılması gereken verileri kodlamak için kullanışlıdır.
PowerShell'de String'i Base64'e Dönüştürme
Şimdi. size örneklerle Powershell'de string'i Base64'e dönüştürmek için farklı yöntemler göstereyim.
Yöntem 1: [System.Convert] Sınıfını Kullanma
PowerShell'de bir dizeyi Base64'e dönüştürmenin en basit yöntemi [System.Convert] sınıfını kullanmaktır. Bunu nasıl yapabileceğiniz aşağıda açıklanmıştır:
Örnek
İşte bir örnek.
# Original string
$string = "Hello, New York!"
# Convert string to byte array
$bytes = [System.Text.Encoding]::UTF8.GetBytes($string)
# Convert byte array to Base64 string
$base64String = [System.Convert]::ToBase64String($bytes)
# Output the Base64 string
$base64StringBu örnekte:
"Merhaba, New York!"dizesiyle başlıyoruz.- Dizeyi UTF-8 kodlamasını kullanarak bir bayt dizisine dönüştürüyoruz.
- Daha sonra bayt dizisini
[System.Convert]::ToBase64Stringkullanarak bir Base64 dizesine dönüştürürüz.
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 Hashtable'a Dönüştür'e göz atın
Yöntem 2: [System.Text.Encoding] Sınıfını Kullanma
Dizeyi Base64'e dönüştürmenin başka bir yöntemi de kodlama ve dönüştürme işlemini gerçekleştirmek için doğrudan [System.Text.Encoding] sınıfını kullanmaktır.
Örnek
İşte bunun nasıl yapılacağına dair tam bir örnek.
# Original string
$string = "PowerShell Base64 Encoding"
# Convert string to byte array using UTF8 encoding
$bytes = [System.Text.Encoding]::UTF8.GetBytes($string)
# Encode byte array to Base64 string
$base64String = [Convert]::ToBase64String($bytes)
# Output the Base64 string
$base64StringBu yöntem ilkine benzer ancak dizeden bayta dönüşümü açıkça işlemek için System.Text.Encoding kullanımını vurgular.
Yukarıdaki PowerShell betiğini çalıştırdıktan sonra aşağıdaki ekran görüntüsünde tam çıktıyı alacaksınız.
Yöntem 3: Özel İşlevi Kullanma
PowerShell'de mantığı yeniden kullanmak ve birden çok kodlamayı işlemek için özel bir işlev de oluşturabilirsiniz. İşte bunun nasıl yapılacağına dair bir örnek.
Örnek
function ConvertTo-Base64 {
param (
[string]$inputString
)
# Convert string to byte array
$bytes = [System.Text.Encoding]::UTF8.GetBytes($inputString)
# Convert byte array to Base64 string
$base64String = [System.Convert]::ToBase64String($bytes)
return $base64String
}
# Use the custom function
$encodedString = ConvertTo-Base64 -inputString "Custom Function Example"
$encodedStringBu örnekte, ConvertTo-Base64 işlevi girdi olarak bir dize alır, onu bir bayt dizisine dönüştürür ve ardından onu bir Base64 dizesine kodlar. Bu işlev, tutarlı Base64 kodlaması için komut dosyalarınız genelinde yeniden kullanılabilir.
PowerShell'de String'i JSON'a Dönüştür'e göz atın
PowerShell'de Base64 Dizelerinin Kodunu Çözme
Base64 dizesinin kodunu orijinal biçimine geri döndürmek için [System.Convert] sınıfını tekrar kullanabilirsiniz, ancak bu sefer FromBase64String yöntemini kullanarak.
Örnek
İşte tam bir örnek.
# Base64 encoded string
$base64String = "SGVsbG8sIFdvcmxkIQ=="
# Convert Base64 string to byte array
$bytes = [System.Convert]::FromBase64String($base64String)
# Convert byte array to original string
$originalString = [System.Text.Encoding]::UTF8.GetString($bytes)
# Output the original string
$originalStringBu örnek, kodlama sürecini tersine çevirerek bir Base64 dizesinin kodunun nasıl orijinal metnine geri döndürüleceğini gösterir.
Aşağıdaki ekran görüntüsünü görebilirsiniz, yukarıdaki PowerShell betiğini VS kodunu kullanarak çalıştırdım.
Çözüm
Bir PowerShell geliştiricisi olarak bu gereksinimle çok sık karşılaşacaksınız ve bu, PowerShell'de dizeleri Base64'e dönüştürmenin yoludur. [System.Convert] sınıfını ve [System.Text.Encoding] sınıfını kullanmak gibi farklı yöntemler kullanarak nasıl yapılacağını anlattım ve ayrıca oluşturabilirsiniz. yeniden kullanmak için özel bir işlev. Ayrıca PowerShell'de base64 dizelerinin kodunun nasıl çözüleceğini de tartıştım.
Yine de bazı sorularınız mı var? Aşağıya yorum bırakmaktan çekinmeyin. En kısa sürede cevap vermeye çalışacağım.


