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!