base 64 кодує та декодує рядок у кутовому (2+)


85

Як кодувати або декодувати рядок у кутовому 2 за допомогою base64 ??? Мій інтерфейсний інструмент - Angular 2. У мене був рядок пароля, перед передачею його в API мені потрібно кодувати base64. Оскільки в службі base64 кодований рядок буде декодуватися.

Тому я шукаю якусь бібліотеку кодування / декодування base64 для Angular2 / Typescript та деякі параметри.

Дякую!!!


Відповіді:


178

Використовуйте btoa()функцію для кодування:

console.log(btoa("password")); // cGFzc3dvcmQ=

Для декодування можна скористатися atob()функцією:

console.log(atob("cGFzc3dvcmQ=")); // password


2
Перед використанням цього ви можете підтвердити , якщо ваші цільові браузери підтримують це: caniuse.com/#search=btoa
edrian

@edrian Має бути добре, якщо ви не підтримуєте дуже стару версію IE.
Роббі Корнеліссен,

як мені ввести змінну як базу 64? Я використовую FileReader і отримую рядок base64 як результат
virtual Останнього

7
Лише слово обережності, що btoa () та atob () не підтримують символи utf-8!
дарвін,

1
@Robert це повинно працювати: stackoverflow.com/questions/30106476 / ...
Darwin


1

Використовуйте btoa()для кодування та atob()для декодування

text_val:any="your encoding text";

Зашифрований текст: console.log(btoa(this.text_val)); //eW91ciBlbmNvZGluZyB0ZXh0

Розшифрований текст: console.log(atob("eW91ciBlbmNvZGluZyB0ZXh0")); //your encoding text


5
Це чудово, що ви хочете допомогти, але ця відповідь не додає жодної додаткової цінності, оскільки це копія прийнятої відповіді. На SO ми любимо уникати повторень. Будь ласка, видаліть цю відповідь.
ViG 28.03.18

1

Для кодування до base64 в Angular2 ви можете використовувати функцію btoa () .

Приклад: -

console.log(btoa("stringAngular2")); 
// Output:- c3RyaW5nQW5ndWxhcjI=

Для декодування з base64 в Angular2 ви можете використовувати функцію atob () .

Приклад: -

console.log(atob("c3RyaW5nQW5ndWxhcjI=")); 
// Output:- stringAngular2
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.