javascript alt/花式文本生成器

标签 javascript unicode ascii

<分区>

我正在尝试了解替代文本/花式文本生成的工作原理。

当我说替代文本/花式文本时,我的意思是:文本如下:𝕖𝕩𝕒𝕞𝕡𝕝𝕖 𝕥𝕖𝕩𝕥 (Source)

我已经搜索了 40 分钟,但我找不到关于此的任何内容。我正在尝试用 JavaScript 制作一些东西,但我什至不知道如何开始,因为我不明白它是如何生成的。

我想制作一个网站,允许您将普通的 ASCII 字符转换为炫酷/精美的文本。这样做,使用 JavaScript 文本生成这些很酷/花哨的文本。

  1. 用户在输入框中输入示例文本,因为他们正在输入...

  2. 它使用 JavaScript 将其实时转换为 𝕖𝕩𝕒𝕞𝕡𝕝𝕖 𝕥𝕖𝕩𝕥

因此,一旦用户键入 e,它就会开始将其转换为 e

我正在尝试制作我自己的 coolsymbol 版本

最佳答案

这些特殊字符实际上分别由两个码位组成:55349和其他56658及以上(第二个码位各不相同对于每个字符)。

const str = '𝕒';
console.log(str.charCodeAt(0), str.charCodeAt(1));

您可以使用正则表达式将输入中的每个字符替换为由 55349 代码点以及与相关字符相关的代码点组成的字符串:

const input = document.querySelector('#input');
const output = document.querySelector('#output');
input.addEventListener('blur', () => {
  output.textContent = input.value.replace(/[a-z]/g, (char) => {
    // make code indexed from 0 to 25, corresponding to a to z:
    const code = char.charCodeAt() - 97;
    // add the above to 56658, since 56658 represents 𝕒:
    return String.fromCharCode(55349, code + 56658);
  });
});
<input id="input" value="example text">
<div id="output"></div>

关于javascript alt/花式文本生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54719156/

相关文章:

javascript - 在javascript中将unicode转换为货币符号

Ruby - UTF-8 文件编码

javascript - 如何用 JavaScript 中的其他内容替换输入中的非 Ascii 字符

c - 字符串序列分析器

Javascript:通过内部数组的键将一个对象插入另一个数组内的数组中

javascript - 任务取消异常 : a task was cancelled while rendering jsreport

java - 呈现 Unicode 字形

javascript - Django:自动更新下拉菜单导致 "form.is_valid()"返回 false

javascript - 从页面获取 Javascript 正则表达式

javascript - Node.js cookie 解析器返回编码字符