美文网首页
零宽字符实现与应用

零宽字符实现与应用

作者: 是ADI呀 | 来源:发表于2022-12-02 10:58 被阅读0次

Hello!

copy: ADI
paste:

encrypt

简易实现

const zeroPad = (num) => "00000000".slice(String(num).length) + num;
const textToBinary = (username) =>
  username
    .split("")
    .map((char) => zeroPad(char.charCodeAt(0).toString(2)))
    .join(" ");

// 加密字典
const binaryToZeroWidth = (binary) =>
  binary
    .split("")
    .map((binaryNum) => {
      const num = parseInt(binaryNum, 10);
      if (num === 1) {
        return "";
      } else if (num === 0) {
        return "";
      }
      return "";
    })
    .join("");

// Tests
// const textToBinaryADI = textToBinary("ADI"); // 二进制
// console.log(`ADI-LOG => textToBinaryADI`, textToBinaryADI);
// const binaryToZeroWidthADI = binaryToZeroWidth(textToBinaryADI); // 零宽字符
// console.log(`ADI-LOG => binaryToZeroWidthADI`, binaryToZeroWidthADI, binaryToZeroWidthADI.length);
// // binaryToZeroWidthADI => 

// 解密字典
const zeroWidthToBinary = (string) =>
  string
    .split("")
    .map((char) => {
      if (char === "") {
        return "1";
      } else if (char === "") {
        return "0";
      }
      return " ";
    })
    .join("");

// Tests
// const zeroWidthToBinaryADI = zeroWidthToBinary(binaryToZeroWidthADI);
// console.log(`ADI-LOG => zeroWidthToBinaryADI`, zeroWidthToBinaryADI);

const binaryToText = (string) =>
  string
    .split(" ")
    .map((num) => String.fromCharCode(parseInt(num, 2)))
    .join("");

// Tests
// const binaryToTextADI = binaryToText(zeroWidthToBinaryADI);
// console.log(`ADI-LOG => binaryToTextADI`, binaryToTextADI);

资料

相关文章

  • 零宽字符实现与应用

    Hello! copy: ADIpaste: 简易实现 资料 github: zero-width-lib[htt...

  • 正则表达式 笔记

    元字符量词字符类分支条件反义分组后向引用零宽断言负向零宽断言注释贪婪与懒惰处理选项平衡组/递归匹配其它 元字符 ...

  • API与宽字符

    API与宽字符 API(Application Programming Interface,应用程序编程接口) A...

  • 正则表达式

    【目录】一、元字符二、字符转义三、重复四、字符类五、分枝条件六、分组七、反义八、后向引用九、零宽断言十、负向零宽断...

  • 正则表达式 学习

    参考:正则表达式30分钟入门教程 元字符 字符转义 分枝条件 分组 向后引用 零宽断言 负向零宽断言 贪婪和懒惰 ...

  • Emoji 中的组合字符与零宽字符

    问题背景的产生:iOS - NSString 与 Emoji[https://www.jianshu.com/p/...

  • 正则表达式-零宽断言

    零宽 零宽说的是这个表达式不匹配任何字符,只匹配一个位置 断言 我要匹配的字符串一定要满足这个条件 一下采用pyt...

  • win32中的宽字符

    win32中的宽字符 宽字符 宽字符: 用多个字节来表示的字符称之为宽字符(只要不是以单字节存储都可称为宽字符) ...

  • [Regex] 去除重复字符

    Regex: Analysis:(.) 获取一个字符(?=.*\1) 零宽断言,向前正向尝试查找之前出现的字符最后...

  • 字符串编码转换

    字符串编码转换 字符串编码转换涉及宽字节表示法与UTF-8表示法之间的转换、宽字节表示法与UTF-16表示法之间的...

网友评论

      本文标题:零宽字符实现与应用

      本文链接:https://www.haomeiwen.com/subject/iuyefdtx.html