Junior — Middle
Jakie są różnice między typem danych łańcuchowym a tablicą bajtów w kontekście programowania?
sobes.tech AI
Odpowiedź od AI
W programowaniu typ danych łańcuch znaków i tablica bajtów różnią się przeznaczeniem i wewnętrznym przedstawieniem:
-
Łańcuch (string) — to sekwencja znaków, zwykle reprezentowana w kodowaniu UTF-8 lub UTF-16. Łańcuchy służą do przechowywania i przetwarzania informacji tekstowych.
-
Tablica bajtów ([]byte w Go) — to sekwencja bajtów, które mogą reprezentować dowolne dane: tekst, obrazy, dźwięk, formaty binarne itp.
W Go łańcuchy są niezmiennicze, natomiast tablice bajtów można modyfikować. Aby przekształcić łańcuch w tablicę bajtów, używa się []byte(str), a odwrotnie — string(bytes).
Przykład:
s := "Привет"
bytes := []byte(s) // konwersja łańcucha na bajty
s2 := string(bytes) // z powrotem na łańcuch
W ten sposób, łańcuchy są wygodne do pracy z tekstem, a tablice bajtów do niskopoziomowego przetwarzania danych.