alphasec
PowerShell protip 0068
in 𝕏

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

tty1 · powershell
PS> -join [char[]]$arr
#Powershell#ProzaŻycia#HackWay

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)
-join [char[]]$arr - szybki, sprytny sposób na zamianę tablicy bajtów na łańcuch znaków

Przydatne linki

docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_join dokumentcja dla operatora -join web ↗
← poprzedni protip 0067 ••• Wszystkie protipy następny → protip 0069
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: