Идеята е това.
Всеки брой могат да бъдат опаковани в байтове, получаване размер 1,5-2,5 пъти по-ниска след алгоритъм:
-
1. Вземете три цифри от текущата позиция.
2. Ако стойността е по-голяма от 255, а след това ние измести позицията на минус 1, и да получите двуцифрено число, което се поставя в байта.
3. Ако полученото число е по-малко от 256, поставете го в един байт
4. Ако числото е 0, 0 сложи това в един байт.
-
номер 1257075081
1. Първата трицифрен номер (125) е по-малко от 256, се поставя в първия байт.
2. Следващата трицифрен номер (707) е по-голяма от 255, така че следващият байт поставят 70
3. Следващите три цифри (750) е по-голям от 255, така че следващият байт поставят 75
4. Следващата цифра 0, така че сложи в един байт
5. Оставащ брой 81, като го постави в последния байт.
Общо получила 5 байта, вместо 10:
масив от байтове
(
0 => 125,
1 => 70
2 => 75
3 => 0,
4 => 81
)
Разопаковане
-
Просто комбиниране на получения масив в низ.
-
Криптирането и компресиране на данни.
Yunips taymstemp 4 байта, а вие имате 5, където спестявания. D
Ами аз бях само един пример.
Макар че, вероятно, дори един обикновен пакет () е по-добре от една опаковка от този метод.
неблагоприятна последица хобита текстови ориентирани езици като PHP
Запазване на номер в двоичен формат естествено по-кратък от в текста, но тя вече съществува и е от началото на компютри по естествен начин
Това означава, че ако броят представени в текста, ако номерата са представени като по този начин се спестяват номера не се постига. Мисля, че номера на магазините малко хора в променливите на низ.
И идеята е красива)
Свързани статии