В Интернете много ресурсов, объясняющих , что означает Base 64, но я изо всех сил пытаюсь найти тот, который объясняет, почему для встроенных веб-ресурсов используется только Base 64. Я понимаю, что Base 64 - это формат, который был создан на заре Интернета, чтобы обеспечить безопасную передачу байтов через Интернет и сделать вывод читаемым для большинства кодировок, ограничив диапазон символов ASCII.
Тем не менее, веб-ресурсы, такие как html
и css
, не обязательно должны быть ограничены только 6-разрядным символьным пространством, верно (только мое предположение, поскольку для этих файлов могут быть определены пользовательские кодировки для них)? Так почему же никогда не было способа кодировать наши ресурсы, скажем, в UTF-8? Или набор символов, который может использовать все 8 бит в байте?
TL;DR
Прямо сейчас это возможно, если вы хотите вставить встроенное изображение в HTML-страницу.
<img src="data:image/png;base64,YWpmaXdlamZwaW9hamZvaWFqY3ZqcGFpc29kamFpb3Nkam5pZGNqdmR2ZA==">
Но почему бы не сделать что-то подобное? Использование 8-битной кодировки позволило бы тем же файлам занимать значительно меньше места.
<img src="data:image/png;utf-8,abcdefghijklmnopabcdefghijklmnopabcdefghij">