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
- web · docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_join — dokumentcja dla operatora -join