У Вікіпедії йдеться
Схеми кодування Base64 зазвичай використовуються, коли виникає потреба в кодуванні бінарних даних, які потрібно зберігати та передавати через носії, призначені для обробки текстових даних. Це потрібно для того, щоб дані залишалися цілими без змін під час транспортування.
Але хіба це не те, що дані завжди зберігаються / передаються у двійковій формі, оскільки пам’ять, яку мають наші машини, зберігає двійкові дані, і це просто залежить, як ви її інтерпретуєте? Отже, незалежно від того, чи кодуєте ви бітовий візерунок, 010011010110000101101110
як Man
в ASCII або як TWFu
у Base64, ви зрештою збираєтеся зберігати той же біт.
Якщо кінцеве кодування є з точки зору нулів і одиниць, і кожна машина та медіа можуть мати справу з ними, то як це має значення, якщо дані представлені як ASCII або Base64?
Що це означає "засоби масової інформації, призначені для обробки текстових даних"? Вони можуть мати справу з бінарним => вони можуть мати справу з чим завгодно.
Дякую всім, я думаю, зараз розумію.
Коли ми надсилаємо дані, ми не можемо бути впевнені, що дані будуть інтерпретуватися у тому самому форматі, як і ми задумали. Отже, ми надсилаємо дані, кодовані в якомусь форматі (наприклад, Base64), який розуміють обидві сторони. Таким чином, навіть якщо відправник і одержувач інтерпретують однакові речі по-різному, але оскільки вони узгоджуються з кодованим форматом, дані не будуть інтерпретовані неправильно.
Якщо я хочу надіслати
Hello
world!
Один із способів - надіслати його як ASCII
72 101 108 108 111 10 119 111 114 108 100 33
Але байт 10 може не трактуватися правильно як новий рядок на іншому кінці. Отже, ми використовуємо підмножину ASCII, щоб кодувати її так
83 71 86 115 98 71 56 115 67 110 100 118 99 109 120 107 73 61 61
що ціною більшої кількості даних, переданих за однаковий обсяг інформації, гарантує, що приймач може декодувати дані за призначенням, навіть якщо приймач має різні інтерпретації для решти набору символів.