z85-codec
Version:
Z85 - ZeroMQ's ascii85 encoding format
3 lines (2 loc) • 1.28 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var r=["0","1","2","3","4","5","6","7","8","9","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","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",".","-",":","+","=","^","!","/","*","?","&","<",">","(",")","[","]","{","}","@","%","$","#"],e=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,77,0,78,67,0,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,79,0,80,0,0];exports.decode=function(t){if(t.length%5)return null;for(var n=new Uint8Array(4*t.length/5),o=0,u=0,f=0;u<t.length;){if(!r.includes(t.charAt(u)))return null;var l=t.charCodeAt(u++)-32;if(f=85*f+e[l],u%5==0){for(var i=16777216;i>=1;)n[o++]=f/i%256,i/=256;f=0}}return n},exports.encode=function(e){if(e.length%4)return null;for(var t="",n=0,o=0,u="string"==typeof e?function(r,e){return r.charCodeAt(e)}:function(r,e){return r[e]};n<e.length;)if(o=256*o+u(e,n++),n%4==0){for(var f=52200625;f>=1;)t+=r[Math.floor(o/f)%85],f/=85;o=0}return t};
//# sourceMappingURL=z85-codec.cjs.production.min.js.map