В ЖСе есть два глобально доступных метода для работы с Base64 - это atob() и btoa(). Этот нейминг - явно калька с более старших языков. В Си в стандартной библиотеке есть, например, методы atoi и atof:
atoi - означает ascii to integer, а atof - ascii to float (хотя по факту там double).
И как вы думаете, что делает функция atob в javascript? ASCII to Base64? Т.е. обычную строку в Base64 строку? Нет! Она делает ровно наоборот: переводит Base64 строку в "обычную" строку. А btoa в свою очередь переводит обычную строку в Base64!
Кому в голову пришло перепутать названия? Люблю JS.
#include <stdlib.h> char str[] = "123"; int num = atoi(str); // 123
atoi - означает ascii to integer, а atof - ascii to float (хотя по факту там double).
И как вы думаете, что делает функция atob в javascript? ASCII to Base64? Т.е. обычную строку в Base64 строку? Нет! Она делает ровно наоборот: переводит Base64 строку в "обычную" строку. А btoa в свою очередь переводит обычную строку в Base64!
console.log(btoa('Famabara')); // 'RmFtYWJhcmE='
console.log(atob('RmFtYWJhcmE')); // 'Famabara'
Кому в голову пришло перепутать названия? Люблю JS.



