欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于base64转码

程序员文章站 2024-02-05 23:29:22
...

一、计算机开始之初,Hex

Hex的编码原理是:把一长串二进制数每4个分一组,如果位数不够就在高位补0。4位数字一共只有16种情况,分别用0-9,A-F表示这16种情况。

关于base64转码

二、ASCII码

美国信息交换标准代码,简称ASCII码表;这个码表包括了数字、英文大小写、符号、以及各种各样的转义字符,可以包含英文所用的全部功能。很快地,ASCII码称为了国际标准,现在大家知道的编码形式,都是与ASCII码兼容的。

关于base64转码

三、UTF-8

这个编码又称为万国码,顾名思义,就是支持包括中文简体、中文繁体、日语、韩语等各种语言的编码;

四、base64编码

既然每个国家都有自己的编码表了,问题也就来了,我要用一个支持本国语言的编码系统,打开另一个编码系统编码的文本,这就是乱码了…  随着互联网的出现,各个国家的电脑都需要通信,而通信的一种方式就是使用URL地址。每个国家都希望把这个地址写成自己国家的语言。但这会导致其他国家根本没法访问地址,因为打不出这个字符嘛。所以,人类迫切需要一种中间编码形式,既能够兼容ASCII码,又能够把任意一种编码形式转换成只使用可读字符就能表示的编码。其中一种编码形式,就是Base64编码。

Base64编码,用64个可读字符进行编码。与Hex的16个字符相比多了很多,但是比ASCII码又少了一倍,去除了不可读字符。标准Base64编码中,这些字符是:

  • 数字:0,1,2,3,4,5,6,7,8,9,共10个
  • 小写字母:a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,共26个
  • 大写字母:A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,共26个
  • 加好+以及斜杠/

五、base64加密、解密

var decodedData = window.atob(encodedData);// base64转普通字符

var encodedData = window.btoa(stringToEncode);  //普通字符转base64

中文base64转码会有报错问题,可以先用中文encode转码和decode编码

window.btoa(window.encodeURIComponent('嘻嘻哈哈哈哈啦啦啦啦'));
window.decodeURIComponent(window.atob('JUU1JTk4JUJCJUU1JTk4JUJCJUU1JTkzJTg4JUU1JTkzJTg4JUU1JTkzJTg4JUU1JTkzJTg4JUU1JTk1JUE2JUU1JTk1JUE2JUU1JTk1JUE2JUU1JTk1JUE2'));

最后介绍一个base64转化的插件base64.js,地址:https://github.com/dankogai/js-base64

Base64.encode(常规字符串);

Base64.decode(base64编码);

 

相关标签: base64编码