rgruber

loadInt32Array

Dec 25th, 2022
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 1.92 KB | Source Code | 0 0
  1. function saveInt32Array(array) {
  2.   // Konvertiere das Array in einen Base64-kodierten String
  3.   const arrayString = btoa(String.fromCharCode(...array));
  4.   // Speichere den String in einer Datei oder in einer Datenbank
  5.   // ...
  6. }
  7.  
  8. function loadInt32Array() {
  9.   // Lade den String aus der Datei oder der Datenbank
  10.   const arrayString = 'AQIDBA==';
  11.   // Konvertiere den String in das Array zurück
  12.   const array = new Int32Array(atob(arrayString).split('').map((c) => c.charCodeAt(0)));
  13.   return array;
  14. }
  15.  
  16.  
  17. function int32ArrayToBase64(array) {
  18.   return btoa(String.fromCharCode(...array));
  19. }
  20.  
  21. function base64ToInt32Array(base64) {
  22.   return new Int32Array(atob(base64).split('').map((c) => c.charCodeAt(0)));
  23. }
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30. // base58 string
  31.  
  32. const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
  33.  
  34. function encode(str) {
  35.   let buffer = new Uint8Array(str.split('').map((c) => c.charCodeAt(0)));
  36.   let base58 = '';
  37.  
  38.   while (buffer.length) {
  39.     let i = buffer[0];
  40.     let j = 0;
  41.     let quotent = Math.floor(buffer.length / 256);
  42.  
  43.     buffer = buffer.slice(1);
  44.     base58 += ALPHABET[i];
  45.  
  46.     while (quotent) {
  47.       base58 += ALPHABET[0];
  48.       quotent -= 1;
  49.     }
  50.   }
  51.  
  52.   return base58;
  53. }
  54.  
  55. function decode(base58) {
  56.   let buffer = new Uint8Array(base58.length);
  57.  
  58.   for (let i = 0; i < base58.length; i++) {
  59.     let j = ALPHABET.indexOf(base58[i]);
  60.     buffer[i] = j;
  61.   }
  62.  
  63.   return String.fromCharCode(...buffer);
  64. }
  65.  
  66. // base58 number
  67.  
  68. const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
  69.  
  70. function encode(num) {
  71.   let base58 = '';
  72.  
  73.   while (num) {
  74.     let i = num % 58;
  75.     num = Math.floor(num / 58);
  76.     base58 = ALPHABET[i] + base58;
  77.   }
  78.  
  79.   return base58;
  80. }
  81.  
  82. function decode(base58) {
  83.   let num = 0;
  84.  
  85.   for (let i = 0; i < base58.length; i++) {
  86.     let j = ALPHABET.indexOf(base58[i]);
  87.     num = num * 58 + j;
  88.   }
  89.  
  90.   return num;
  91. }
  92.  
  93.  
  94.  
  95.  
Tags: base58
Add Comment
Please, Sign In to add comment