编码解码工具 之 Base16编码/解码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编码解码工具 之 Base16编码/解码相关的知识,希望对你有一定的参考价值。
参考技术A Base16编码使用16个ASCII可打印字符(数字0-9和字母A-F)对任意字节数据进行编码。Base16先获取输入字符串每个字节的二进制值(不足8比特在高位补0),然后将其串联进来,再按照4比特一组进行切分,将每组二进制数分别转换成十进制,在下述表格中找到对应的编码串接起来就是Base16编码。Base16编码的方式:
1.将数据(根据ASCII编码,UTF-8编码等)转成对应的二进制数,不足8比特位高位补0。然后将所有的二进制全部串起来,4个二进制位为一组,转化成对应十进制数。
2.根据十进制数值找到Base16编码表里面对应的字符。Base16是4个比特位表示一个字符,所以原始是1个字节(8个比特位)刚好可以分成两组,也就是说原先如果使用ASCII编码后的一个字符,现在转化成两个字符。数据量是原先的2倍。
在线工具链接: http://www.atoolbox.net/Tool.php?Id=930
base 64 以角度编码和解码字符串 (2+)
【中文标题】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】:Angular2中encoding转base64,可以使用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
【讨论】:
以上是关于编码解码工具 之 Base16编码/解码的主要内容,如果未能解决你的问题,请参考以下文章