128.js 909 B

12345678910111213141516171819202122232425262728293031
  1. // Base128 character set (using ASCII characters)
  2. const base128Chars = Array.from({ length: 128 }, (_, i) => String.fromCharCode(i));
  3. // Encode function for Base128
  4. function encodeBase128(input) {
  5. const encoder = new TextEncoder();
  6. const data = encoder.encode(input);
  7. let encodedString = '';
  8. data.forEach(byte => {
  9. encodedString += base128Chars[byte];
  10. });
  11. return encodedString;
  12. }
  13. // Decode function for Base128
  14. function decodeBase128(encoded) {
  15. const decoder = new TextDecoder();
  16. const data = new Uint8Array([...encoded].map(char => base128Chars.indexOf(char)));
  17. return decoder.decode(data);
  18. }
  19. // Example usage
  20. const inputString = "Hello, World!";
  21. const encodedBase128 = encodeBase128(inputString);
  22. console.log('Base128 Encoded:', encodedBase128);
  23. const decodedBase128 = decodeBase128(encodedBase128);
  24. console.log('Base128 Decoded:', decodedBase128);