Что такое base64 и зачем он нужен в WEB?
base64 представляет собой способ кодирования произвольных данных в ASCII символы. Кодирование достаточно простое. Соответственно каждые шесть бит данных на выходе кодируются в один из символов шестидесяти четырех буквенного алфавита. Под понятием «Стандартный алфавит» подразумевается набор символов A-Z, a-z, 0-9, +, / или = . Есть и другие вариации закодированных символов, но в WEB разработке вряд ли встретитесь.
А зачем это все?
Исторически сложилось так, что многие данные при передаче используют текст, но не бинарные коды. А если формат передачи данных текстовый? Да и еще передать нужно бинарный код. Вот тут вот на помощь приходят base64.
Типизированное использование в веб-разработке
- data: URL схема для изображений
- Можно получать бинарное представление canvas битмап.
- Процесс передачи данных в XML.
- Можно хранить картинки в базе данных.
- Включение картинок в e-mail.
data: URL, а также base64: URL представляет собой определенную схему, которая позволяет включать элементы в строку.
Формат data: URL имеет следующий:
data:[<MIME-тип>][;charset=<кодировка>][;base64],<data>
Несколько типовых решений на определенных примерах
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAABNmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarY6xSsNQFEDPi6LiUCsEcXB4kygotupgxqQtRRCs1SHJ1qShSmkSXl7VfoSjWwcXd7/AyVFwUPwC/0Bx6uAQIYODCJ7p3MPlcsGo2HWnYZRhEGvVbjrS9Xw5+8QMUwDQCbPUbrUOAOIkjvjB5ysC4HnTrjsN/sZ8mCoNTIDtbpSFICpA/0KnGsQYMIN+qkHcAaY6addAPAClXu4vQCnI/Q0oKdfzQXwAZs/1fDDmADPIfQUwdXSpAWpJOlJnvVMtq5ZlSbubBJE8HmU6GmRyPw4TlSaqo6MukP8HwGK+2G46cq1qWXvr/DOu58vc3o8QgFh6LFpBOFTn3yqMnd/n4sZ4GQ5vYXpStN0ruNmAheuirVahvAX34y/Axk/96FpPYgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6AAAUggAARVYAAA6lwAAF2/XWh+QAAAAH0lEQVR42mJsvsz6n4EIwMRAJBhVSB2FAAAAAP//AwDPuwJuV7bCkgAAAABJRU5ErkJggg=="/>
Этот код даст нам зеленую картинку 10х10 пикселей.
А в CSS используется следующий код:
div.red_dotted {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAABNmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarY6xSsNQFEDPi6LiUCsEcXB4kygotupgxqQtRRCs1SHJ1qShSmkSXl7VfoSjWwcXd7/AyVFwUPwC/0Bx6uAQIYODCJ7p3MPlcsGo2HWnYZRhEGvVbjrS9Xw5+8QMUwDQCbPUbrUOAOIkjvjB5ysC4HnTrjsN/sZ8mCoNTIDtbpSFICpA/0KnGsQYMIN+qkHcAaY6addAPAClXu4vQCnI/Q0oKdfzQXwAZs/1fDDmADPIfQUwdXSpAWpJOlJnvVMtq5ZlSbubBJE8HmU6GmRyPw4TlSaqo6MukP8HwGK+2G46cq1qWXvr/DOu58vc3o8QgFh6LFpBOFTn3yqMnd/n4sZ4GQ5vYXpStN0ruNmAheuirVahvAX34y/Axk/96FpPYgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6AAAUggAARVYAAA6lwAAF2/XWh+QAAAAH0lEQVR42mJsvsz6n4EIwMRAJBhVSB2FAAAAAP//AwDPuwJuV7bCkgAAAABJRU5ErkJggg==") center center repeat-x;
width:auto;
height:10px;
}
Процесс получение данных в бинарном виде из canvas текстового base64 представления смотрится следующим образом:
<canvas id="canvase_element" width="600" height="600"></canvas>
// делаем нахождение canvas
var canvas = document.getElementById('canvase_element');
// получаем контекст данные
var cataloxy = canvas.getContext('2d');
// производим рисование
cataloxy.beginPath();
cataloxy.arc(100, 100, 50, 1.5 * Math.PI, 0.5 * Math.PI, false);
cataloxy.lineWidth = 10;
cataloxy.stroke();
// непосредственно делаем получение самого base64
console.log(canvas.toDataURL());
Похожие статьи
В мире современных технологий и цифровых инноваций, данные играют ключевую роль в принятии решений, оптимизации бизнес-процессов и понимании...
Когда вы создали сайт, то естественно для дальнейшего развития вам нужно воспользоваться услугами продвижения и раскрутки. У многих возникает...
На протяжении последних пятнадцати лет отличным инструментом Интернет-маркетинга было и остается старое доброе SEO – продвижение сайта в Гугл и в...
Аудит сайта весьма похож на аудит компании, его основная цель - это сбор и анализ информации для того, чтобы на ее основании составить...
Хостинг - место на сервере, которое позволяет публиковать ваш сайт в сети интернет. Сервер хранит данные вашего сайта в интернете, обрабатывает...
Определяя цели, заказчик проекта по продвижению сайта в ТОП должен понимать, что первые из перечня выступают практически недостижимыми. Данный факт...
Пришло время оплачивать работы по SEO и вас, как и каждого заказчика, может смущать факт полной предоплаты за услуги. «Я заплачу, а что они будут...
На данный момент организации и предприятия имеют возможность активно использовать для своего продвижения следующие виды интернет-услуг...
Покупка серверного оборудования требует предельно серьезного подхода. Если вы хотите купить сервер, который будет отвечать всем вашим требованиям,...
Возникла задача увеличить посещаемость ресурса по коммерческим вопросам и привлечь на сайт целевой трафик, с максимальным ростом оформленных...
Партнерские программы и способы раскрутить свой сайт с их помощью все это и многое другое в узнаете на сайте информационного портала Лидзавод.
Принимая решение разработать мобильное приложение для бизнеса, вы не в последнюю очередь интересуетесь стоимостью реализации подобного проекта. В...