2022-10-06 22:32:41 +03:00
|
|
|
|
---
|
2022-11-19 03:36:06 +03:00
|
|
|
|
title: "🦓 Преобразование изображений в Base64 строку"
|
2022-10-06 22:32:41 +03:00
|
|
|
|
date: 2022-10-06T22:25:08+03:00
|
|
|
|
|
draft: false
|
|
|
|
|
tags: [linux, tips]
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
В ОС Linux есть стандартная утилита `base64`, которая на вход принимает данные.
|
|
|
|
|
|
|
|
|
|
> base64 присутсвует даже в [BusyBox](https://www.busybox.net/BusyBox.html)
|
|
|
|
|
(Ctrl+F > base64)
|
|
|
|
|
|
|
|
|
|
Ниже представлен пример, которые скачивает **SVG** код **twemoji**
|
|
|
|
|
и преобразует его с строку **base64**.
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
curl https://raw.githubusercontent.com/twitter/twemoji/master/assets/svg/1f4a2.svg | base64
|
|
|
|
|
|
|
|
|
|
% Total % Received % Xferd Average Speed Time Time Time Current
|
|
|
|
|
Dload Upload Total Spent Left Speed
|
|
|
|
|
100 994 100 994 0 0 3228 0 --:--:-- --:--:-- --:--:-- 3259
|
|
|
|
|
|
|
|
|
|
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNiAz
|
|
|
|
|
NiI+PHBhdGggZmlsbD0iI0JFMTkzMSIgZD0iTTIuNjM4IDIzLjgyMWwtMS42MjUtMy4xIDEuNTUt
|
|
|
|
|
LjgxMmMyLjM5My0xLjI1NSA0Ljk4Mi0yLjc3OCA1LjQxMy00Ljk4Mi4zMzUtMS43MTQtLjYxMS0z
|
|
|
|
|
LjkwMy0yLjgxMi02LjUwNmwtMS4xMy0xLjMzNiAyLjY3Mi0yLjI2IDEuMTMgMS4zMzZjMi45NjEg
|
|
|
|
|
My41MDIgNC4xMzEgNi41ODkgMy41NzQgOS40MzctLjc4OCA0LjAzNy00Ljk3NSA2LjIzMS03LjIy
|
|
|
|
|
MyA3LjQxbC0xLjU0OS44MTN6TTIwLjkzIDM0Ljk0N2wtLjgxMi0xLjU1Yy0xLjI1NS0yLjM5NC0y
|
|
|
|
|
Ljc3OC00Ljk4Mi00Ljk4Mi01LjQxMy0xLjcxMy0uMzM2LTMuOTAzLjYxMS02LjUwNiAyLjgxMmwt
|
|
|
|
|
MS4zMzYgMS4xMy0yLjI2LTIuNjcyIDEuMzM2LTEuMTNjMy41MDEtMi45NjIgNi41ODUtNC4xMzQg
|
|
|
|
|
OS40MzctMy41NzQgNC4wMzcuNzg4IDYuMjMxIDQuOTc0IDcuNDEgNy4yMjNsLjgxMiAxLjU1LTMu
|
|
|
|
|
MDk5IDEuNjI0em04LjUzMS00LjAyMmwtMS4xMy0xLjMzNkMyNS4zNjkgMjYuMDg3IDI0LjIgMjMg
|
|
|
|
|
MjQuNzU3IDIwLjE1MWMuNzg4LTQuMDM2IDQuOTc0LTYuMjMgNy4yMjMtNy40MDlsMS41NS0uODEy
|
|
|
|
|
IDEuNjI1IDMuMS0xLjU1LjgxMmMtMi4zOTQgMS4yNTUtNC45ODIgMi43NzgtNS40MTMgNC45ODEt
|
|
|
|
|
LjMzNSAxLjcxNS42MTEgMy45MDMgMi44MTEgNi41MDZsMS4xMyAxLjMzNi0yLjY3MiAyLjI2em0t
|
|
|
|
|
Ny43MDgtMTkuNTg4Yy0uNDcxIDAtLjkzNC0uMDQ1LTEuMzkyLS4xMzQtNC4wMzctLjc4OC02LjIz
|
|
|
|
|
MS00Ljk3NS03LjQxLTcuMjIzbC0uODEyLTEuNTUgMy4xLTEuNjI1LjgxMyAxLjU1YzEuMjU1IDIu
|
|
|
|
|
MzkzIDIuNzc4IDQuOTgyIDQuOTgxIDUuNDEzIDEuNzExLjMzNCAzLjkwMi0uNjEgNi41MDYtMi44
|
|
|
|
|
MTJsMS4zMzYtMS4xMyAyLjI2IDIuNjcyLTEuMzM2IDEuMTNjLTIuOTQxIDIuNDg2LTUuNTg4IDMu
|
|
|
|
|
NzA5LTguMDQ2IDMuNzA5eiIvPjwvc3ZnPg==
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Остаётся только подставить данные типа (MIME) и использовать строку
|
|
|
|
|
в любимом ЯП.
|
|
|
|
|
|
|
|
|
|
Для **SVG** строка будет выглядеть так:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
data:image/svg+xml;base64,<BASE64_STRING>
|
|
|
|
|
```
|