Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zamiana tekstu na zapis dwójkowy
Forum PHP.pl > Forum > Przedszkole
bigda
Dobry wieczór,

chcę zamienić tekst (litery, spacje, znaki specjalne) na zapis dwójkowy - każdy znak ma być reprezentowany przez odpowiadającą mu liczbę zapisaną w systemie binarnym.
Co do zasady nie jest to problem: funkcja split() podzieli mi wszystko na znaki, ord() na liczby dziesiętne, potem zamienię to sobie na 0 i 1 base_convert().

Problem zaczyna się, kiedy w tekście pojawiają się polskie litery. Split() wyświetla mi dziwne znaczki, kiedy dzielę na pojedyncze litery (jak na grupy dwuliterowe, wszystko jest OK), ord() polskie litery wyświetla jako dwie liczby, z których każda koduje te dziwne znaczki, które pokazują się w splicie().

Cała rzecz polega na tym, że chcę się hobbystycznie pobawić kryptografią. Oczywiście mogę zrobić sobie jakąś swoją funkcję, która przyporządkuje mi każdy możliwy znak do określonej wartości liczbowej, ale zastanawiam się, czy jest jakiś sposób na uchwycenie polskich liter w istniejących funkcjach.
bigda
Wielkie dzięki,

co prawda nie zupełnie o to m chodziło, bo mb_split() zamienia mi ciąg w tablicę, z którą i tak jest potem kłopot, ale naprowadziłeś mnie, a baz tego nie dałbym rady.
Ostatecznie zrobiłem to tak:

  1. zmienna=mb_str_split ('jedzą piją lulki palą', 1, );
  2.  
  3. foreach($zmienna as $value)
  4. {
  5. echo str_pad(decbin(ord($value)), 8, 0, STR_PAD_LEFT).' ';
  6. }


Jeszcze raz wielkie dzięki!
trueblue
A funkcja split, to niby co zwracała?

Zresztą jakiejkolwiek byś nie użył i niezależnie co będzie zwracać i tak musisz mieć jakaś pętlę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.