PowerShell Bayt Dizisini Dizeye Dönüştürme


Bayt dizisini dizeye dönüştürmek için PowerShell'deki UTF8 kodlama biçiminin GetString() yöntemini kullanın. Bu yöntem bir dize döndürür.

[System.Text.Encoding] sınıfı, dizeleri farklı kodlama biçimlerine dönüştürmek ve bunları farklı kodlama biçimlerinden kullanmak için yöntemler sağlar.

Bu yazımızda bayt dizisini string’e dönüştürmek için PowerShell’de GetString() metodunun nasıl kullanılacağını tartışacağız.

GetString() Yöntemini kullanarak Bayt Dizisini PowerShell'de Dize'ye Dönüştürme

Bayt dizisini dizeye dönüştürmek için PowerShell'de [System.Text.Encoding] sınıfının GetString() yöntemini kullanın.

Bir bayt dizisi almayı ve bunu bir dizeye dönüştürmek için kullanmayı bir örnek yardımıyla anlayalım.

# Declare string variable
$str = "ShellGeek"

# converting string to bytes array
$bytesArr = [System.Text.Encoding]::UTF8.GetBytes($str)

# Print the bytes array
$bytesArr

# Convert byte to string
$str2 = [System.Text.Encoding]::UTF8.GetString($bytesArr)

# Print the string
$str2

Yukarıdaki PowerShell betiğinde $str değişkeni, “ShellGeek ” değerini içeren bir dize türüdür. GetBytes() yöntemini kullanarak dizeyi bir bayt dizisine dönüştürür ve sonucu, bayt dizisini içeren $bytesArr değişkenine atar.

Bir bayt dizisini dizeye dönüştürmek için, bayt dizisini giriş parametresi olarak alan ve bir dize döndüren GetString() yöntemini kullanır.

Yukarıdaki betiğin PowerShell'deki çıktısı, GetString() yöntemi [System.Text.Encoding] sınıfını kullanarak bayt dizisini bir dizeye dönüştürür:

Harika İpucu: PowerShell'de dizeyi tam sayıya nasıl dönüştürebilirim?

Bayt Dizisini PowerShell'de Dize'ye Dönüştürme

Belirtilen kodlamayı kullanarak ikili verilerin kodunu bir dizeye dönüştürmek için GetString() yöntemini sağlayan [System.Text.Encoding] sınıfını kullanın. Çeşitli formatlardaki metni kodlamak ve kodunu çözmek için bir dizi yöntem sağlar.

# Create a byte array
$bytesArr = [byte[]]@(0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64) 

# Convert byte array to string
$str3 = [System.Text.Encoding]::UTF8.GetString($bytesArr)

# Print the string
$str3

Yukarıdaki PowerShell betiğinde $bytesArr değişkeni bytes dizisini içerir. System.Text.Encoding sınıfı, PowerShell'de bir bayt dizisini dizeye dönüştürmek için GetString() yöntemine sahiptir. Bu yöntem bir giriş parametresini bayt dizisi olarak alır ve bir dize döndürür.

Komut dosyasının çıktısı, aşağıdaki gibi UTF8 kodlama formatını kullanarak ikili verilerin kodunu bir dizeye dönüştürür:

# Create a byte array
PS C:\> $bytesArr = [byte[]]@(0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64) 

# Convert byte array to string
PS C:\> $str3 = [System.Text.Encoding]::UTF8.GetString($bytesArr)

# Print the string
PS C:\> $str3

PS C:\> Hello World

Harika İpucu: PowerShell'de bayt dizisini onaltılık dizeye nasıl dönüştürebilirim?

Çözüm

UTF8 kodlama biçiminin GetString() yöntemini kullanarak Bayt dizisinin PowerShell'de dizeye nasıl dönüştürüleceğine ilişkin yukarıdaki makalenin size yardımcı olacağını umuyorum.

PowerShell dizeleri karakter dizileridir, baytlar ise ikili veri dizileridir. System.Text.Encoding sınıfı, UTF8 kodlama biçiminin ToString() yöntemini kullanarak dizeyi bayta ve baytı dizeye dönüştürme yöntemleri sağlar.

PowerShell Active Directory komutları ve PowerShell temelleri hakkında daha fazla konuyu ShellGeek ana sayfasında bulabilirsiniz.

İlgili makaleler