Прирост размера файлов base64
Краткая заметка о том, как применение функций кодирования двоичных данных из модуля base64 влияет на размер продуцируемых данных.
Не секрет, что кодирование двоичных данных при помощи функций транслирования в ascii влияет на размер получаемых в итоге данных. Давайте поглядим на сколько сильно это влияние — протестируем функции модуля base64 в Python 3:
И вот, какие результаты получаются:
Соберётесь хранить файлы в БД, вспомните этот тест.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from base64 import * | |
with open('/home/idle/binary.data', 'rb') as f: | |
data = f.read() | |
for method in [b64encode, b32encode, b16encode, a85encode, b85encode]: | |
percent = ((len(method(data)) * 100) / len(data)) - 100 | |
print('%s: +%s%%' % (method.__name__, round(percent, 2))) |
И вот, какие результаты получаются:
b64encode: +33.33%
b32encode: +60.0%
b16encode: +100.0%
a85encode: +25.0%
b85encode: +25.0%
Соберётесь хранить файлы в БД, вспомните этот тест.
На заметку
У нас есть представительство в Facebook. Ссылка в самом низу страницы.