Guest User

Untitled

a guest
Dec 21st, 2021
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/env node
  2.  
  3. const process = require('process');
  4.  
  5. const decode = (str) => {
  6.   return new TextDecoder().decode(
  7.     new Uint8Array(
  8.       str
  9.         .replace(/ПУК/g, "0")
  10.         .replace(/СРЕНЬК/g, "1")
  11.         .replace(/-/g, "")
  12.         .match(/.{1,8}/g)
  13.         .map((c) => parseInt(c, 2))
  14.     )
  15.   );
  16. };
  17.  
  18. const encode = (str) => {
  19.   return new TextEncoder()
  20.     .encode(str)
  21.     .reduce((s, b) => s + b.toString(2).padStart(8, "0"), "")
  22.     .replace(/0/g, "ПУК-")
  23.     .replace(/1/g, "СРЕНЬК-")
  24.     .slice(0, -1);
  25. };
  26.  
  27. const action = process.argv[2];
  28. const str = process.argv[3] || "";
  29.  
  30. switch (action) {
  31.   case "-d":
  32.   case "--decode":
  33.     console.log(decode(str));
  34.     break;
  35.   case "-e":
  36.   case "--encode":
  37.     console.log(encode(str));
  38.     break;
  39.   default:
  40.     console.log("\033[1m\033[31m[ПУК-СРЕНЬК]\033[0m 2ch Edition\033[0m\n\n\033[1mОПИСАНИЕ\033[0m\n\tСредство для бинарного кодирования/декодирования текста весьма\n\tсвоеобразным образом.\n\n\033[1mКАК ИСПОЛЬЗОВАТЬ\033[0m\n\tpuk.js [\033[4mОПЦИЯ\033[0m] [\033[4mСТРОКА\033[0m]\n\n\033[1mОПЦИИ\033[0m\n\t\033[1m-d, --decode\033[0m\n\t\tрасшифровать строку\n\n\t\033[1m-e, --encode\033[0m\n\t\tзашифровать строку\n\n\033[1mПРИМЕРЫ ИСПОЛЬЗОВАНИЯ\033[0m\n\tpuk.js -d \"ПУК-ПУК-СРЕНЬК-СРЕНЬК-ПУК-ПУК-СРЕНЬК-ПУК\"\n\tpuk.js --decode \"ПУК-ПУК-СРЕНЬК-СРЕНЬК-ПУК-ПУК-СРЕНЬК-ПУК\"\n\n\tpuk.js -e \"2ch - тут все мои друзья\"\n\tpuk.js --encode \"2ch - тут все мои друзья\"");
  41. }
  42.  
Advertisement
Add Comment
Please, Sign In to add comment