ALPHACON BBSGość · pl
← Protipy

Protipy / PowerShell

-join [char[]]$arr - szybki, sprytny sposób na zamianę tablicy bajtów na łańcuch znaków

-join [char[]]$arr

Wstęp

Czasem potrzebujemy szybko zamienić tablicę bajtów na łańcuch znaków. Tablicę bajtów możemy otrzymać w różnych wypadkach np. w wyniku użycia metody UploadFile obiektu Net.WebClient czy statycznej metody FromBase64String klasy Convert.

PS> $arr = [Convert]::FromBase64String("SGVsbG8h")
PS> -join [char[]]$arr
Hello!

Cała magia polega na zrzutowaniu tablicy bajtów na tablicę znaków ( [char[]]), a następnie wykorzystaniu operatora -join, który, nie często występując samotnie po lewej stronie, złączy znaki w jeden napis.

Dla osób, które wolą mniej hakerski i bardziej czytelny kod, zawsze jest:

[Text.Encoding]::UTF8.GetString($arr)

Linki