Moja strona ASP.NET ma następujące parametru ciąg kwerendy:Kompresja liczbę duże (lub ciąg) do małej wartości
…?IDs=1000000012,1000000021,1000000013,1000000022&...
Tutaj IDs
parametr zawsze będą miały numery oddzielone przez coś, w tym przypadku ,
. Obecnie są 4 liczby, ale normalnie byłyby pomiędzy 3
i 7
.
Teraz szukam metody konwersji każdej dużej liczby z góry na najmniejszą możliwą wartość; specjalnie kompresująca wartość parametru ciągu zapytania IDs
. Zarówno kompresowanie każdego algorytmu liczbowego, jak i kompresowanie wartości całkowitej parametru IDs
są mile widziane.
- Kodowanie lub dekodowanie nie stanowi problemu; po prostu kompresja wartości parametru ciągu zapytania o wartości
IDs
. - Utworzenie unikatowej małej wartości dla
IDs
, a następnie pobranie jej wartości z jakiegoś źródła danych jest poza zakresem.
Czy istnieje algorytm do kompresowania tak dużych liczb do małych wartości lub do kompresowania wartości parametru ciągu zapytania IDs
razem?
Jakie są zakresy numerów? Czy wszystkie cyfry (0-9) są używane i czy cyfry 2-8 to zawsze 0? –
Brak odpowiedzi - ale rozwiązanie musi wziąć pod uwagę uzasadnienie kompresji? Jeśli jest ona zawarta w generowanych stronach, to prawie na pewno wystarczy użyć kompresji gzip, która skompresuje to (i cały HTML) dla ciebie z dużo lepszą wydajnością niż mikro kompresja zarządzana przez to. Jeśli ma to zwiększyć szybkość dla użytkowników wprowadzających adres URL, odpowiedź musi wziąć to pod uwagę. – Pool
> Czy wszystkie cyfry (0-9) są używane i czy cyfry 2-8 to zawsze 0? NO > Jeśli w wygenerowanych stronach znajduje się dużo, odpowiedź prawie na pewno brzmi: gzip Wszystkie linki na stronie odsyłającej będą miały href jako "MyServer.com/ShowSomething.aspx?IDs=1000000012,1000000021,1000000013,1000000022&. .. "Problem polega na kompresji identyfikatorów paramtere – Dave