-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbase91.min.js
3 lines (3 loc) · 1.04 KB
/
base91.min.js
1
2
3
(function(k){k.base91={encode:function(f){if(!f)return!1;for(var g=f.length,d="",b=0,a=0,c=0;c<g;++c)if(a|=f.charCodeAt(c)<<b,b+=8,13<b){var e=a&8191;88<e?(a>>=13,b-=13):(e=a&16383,a>>=14,b-=14);d+='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~"'[e%91]+'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~"'[e/91|0]}b&&(d+='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~"'[a%
91],7<b||90<a)&&(d+='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~"'[a/91|0]);return d},decode:function(f){if(!f)return!1;for(var g=f.length,d="",b=0,a=0,c=-1,e=0;e<g;++e){var h='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~"'.indexOf(f[e]);if(-1!==h)if(0>c)c=h;else{c+=91*h;b|=c<<a;a+=88<(c&8191)?13:14;do d+=String.fromCharCode(b&255),b>>=8,a-=8;while(7<a);c=-1}}-1<c&&(d+=String.fromCharCode((b|c<<a)&255));return d}};
Object.freeze&&Object.freeze(k.base91)})(window);