Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Najkrótsze zakodowanie stringa.
haryb
post
Post #1





Grupa: Zarejestrowani
Postów: 137
Pomógł: 0
Dołączył: 9.11.2004
Skąd: Gdańsk

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


Mam następujące pytanie jak w php można w prosty sposób skrócić długość stringa ale tak by później móc odzyskać całą informacje?
Próbowałem z długiego stringa robić md5 i później odkodowywać ale md5 zwraca jeszcze za długi ciąć.
Czy jest jakieś bardziej kodowanie gdzie można by skrócić tą długość?

p.s. Czy znacie może namiary na jakiąś gotową funkcję która zamieni mi tablice na liczbe a inna funkcja z powrotem po podaniu ów liczby utworzy tablice?


pozdro
haryb
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
timon27
post
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


Ja bym to zrobił tak: aby maxymalnie zmniejszyć wielkość ciągu ustal jakie znaki mogą się w nim znajdować (np wiesz że nie powinno tam być dużych liter), a następnie wrzuć cały alfabet do tablicy
Kod
$tablica=array('a','b','c');
$l=length($tablica);

następnie ciąg rozbijasz na tablice:
Kod
$ciag=explode("",$ciag);

i zapisujesz ciag w liczbie:
Kod
$suma=0;
foreach($ciag as $znak){
$n=numer_znaku($tablica,$znak)
$suma=$suma*$l+$n;
}

gdzie funkcja 'numer_znaku' zwraca liczbę mówiącą na którym miejscu w tabeli znajduje się znak

Gwarantuje Ci że taki sposób kompresji jest najlepszy (pesymistycznie), lecz jego kodowanie i odkodowanie przy dłuższych ciągach może być czasochłonne
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 - 06:51