base 64 以角度编码和解码字符串 (2+)

Posted

技术标签:

【中文标题】base 64 以角度编码和解码字符串 (2+)【英文标题】:base 64 encode and decode a string in angular (2+) 【发布时间】:2017-06-17 18:14:51 【问题描述】:

如何使用 base64 对 Angular 2 中的字符串进行编码或解码??? 我的前端工具是 Angular 2。我有一个密码字符串,在将其传递给 API 之前,我需要进行 base64 编码。由于在服务中 base64 编码的字符串将被解码。

所以我正在为 Angular2/Typescript 和一些选项寻找一些 base64 编码/解码库。

谢谢!!!

【问题讨论】:

developer.mozilla.org/en/docs/Web/API/WindowBase64/… 【参考方案1】:

从 Angular 12 开始,btoa()atob() 函数已被弃用。改用这些:

console.log(Buffer.from("Hello World").toString('base64'));
// SGVsbG8gV29ybGQ=
console.log(Buffer.from("SGVsbG8gV29ybGQ=", 'base64').toString('binary'))
// Hello World

注意:你必须显式编码!

【讨论】:

【参考方案2】:

Angular2encodingbase64,可以使用btoa()函数。

例子:-

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

对于Angular2中的base64解码,可以使用atob()函数。

例子:-

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

【讨论】:

【参考方案3】:

使用btoa() 进行编码,使用atob() 进行解码

text_val:any="your encoding text";

编码文本:console.log(btoa(this.text_val)); //eW91ciBlbmNvZGluZyB0ZXh0

解码文本:console.log(atob("eW91ciBlbmNvZGluZyB0ZXh0")); //your encoding text

【讨论】:

您想提供帮助真是太棒了,但是这个答案并没有增加任何额外的价值,因为它是已接受答案的副本。在 SO 上,我们希望避免重复。请考虑删除此答案。【参考方案4】:

使用btoa()函数进行编码:

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

要解码,可以使用atob()函数:

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

【讨论】:

在使用之前,您可能需要确认您的目标浏览器是否支持:caniuse.com/#search=btoa @edrian 应该没问题,只要您不支持非常旧的 IE 版本。 如何将变量类型转换为 base 64?我使用 FileReader 并得到 base64 字符串作为结果 请注意 btoa() 和 atob() 不支持 utf-8 字符! @Robert 这应该可以工作:***.com/questions/30106476/…【参考方案5】:

使用btoa("yourstring")

更多信息:https://developer.mozilla.org/en/docs/Web/API/WindowBase64/Base64_encoding_and_decoding

TypeScript 是 javascript 的超集,它可以使用现有的 Javascript 库和 Web API

【讨论】:

以上是关于base 64 以角度编码和解码字符串 (2+)的主要内容,如果未能解决你的问题,请参考以下文章

C语言实现Base64编码/解码

Java Base64 编码解码方案总结

base64编解码与hash加密

Java如何进行Base64的编码(Encode)与解码(Decode)?

怎么解决js解码base64中文乱码问题

Java Base64 加密/解密