Odwrotna kolejność bajtów w stringach binarnych
Założenie: Nauczymy się odwracać kolejność bajtów w stringu binarnym w PHP, wykorzystując funkcję hexdec()
.
Krok po kroku:
- Konwersja stringa heksadecymalnego na liczbę dziesiętną:
$hexString = "1A2B3C"; $decimal = hexdec($hexString);
Funkcja
hexdec()
konwertuje string heksadecymalny na jego dziesiętną reprezentację. - Odwrócenie bajtów (metoda bitowa):
$reversedDecimal = 0; for ($i = 0; $i < strlen($hexString); $i += 2) { $reversedDecimal = ($reversedDecimal << 8) | hexdec(substr($hexString, $i, 2)); }
Pętla iteruje po stringu heksadecymalnym, po dwa znaki (jeden bajt) na raz. Operatory bitowe
<<
(przesunięcie bitowe w lewo) i|
(alternatywa bitowa) odwracają kolejność bajtów. - Konwersja liczby dziesiętnej z powrotem na string heksadecymalny:
$reversedHexString = dechex($reversedDecimal);
Funkcja
dechex()
konwertuje liczbę dziesiętną na jej reprezentację heksadecymalną. - Wyświetlenie wyniku:
echo "Oryginalny string: " . $hexString . "\n"; echo "String z odwróconą kolejnością bajtów: " . $reversedHexString;
Wyświetlamy zarówno oryginalny, jak i zmodyfikowany string.
Ten przykład pokazuje podstawowe techniki pracy z stringami binarnymi w PHP. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi metodami odwracania bajtów!