Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zamiana tekstu na zapis dwójkowy, jak poprawnie zapisać tekst w postaci 0 1
bigda
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 17.04.2018

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bigda
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 17.04.2018

Ostrzeżenie: (0%)
-----


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!
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 18:57