gpt4 book ai didi

javascript - 将重音文本转换为 ASCII 字符?

转载 作者:数据小太阳 更新时间:2023-10-29 04:22:28 27 4
gpt4 key购买 nike

我想将重音字母和各种编码转换为 Javascript 中的纯英语 ASCII,想知道有哪些可能的选择。我需要的是:

éclair ~becomes~ eclair

bär ~becomes~ bar

привет ~becomes~ privet

こんにちは ~becomes~ konnichiva

如您所见,这个想法是将任何语言转换为等效的纯英语 ASCII。 áčçéñtèd 字母被转换成它们的普通等价物,西里尔字母或日文编码的字母被转换成它们的音译等价物。

有人知道在 Javascript 中执行此操作的方法吗?

最佳答案

有许多 Node 模块做类似的事情,但比 node-iconv 轻得多,特别是在所有 JS 中,不需要您编译任何 C 或 C++:

  1. node-unidecode似乎主要按照您的要求进行:

    $ npm install unidecode
    ...
    unidecode@0.1.3 node_modules/unidecode
    $ node
    > var unidecode = require('unidecode');
    undefined
    > unidecode('éclair')
    'eclair'
    > unidecode('bär')
    'bar'
    > unidecode('привет')
    'priviet'
    > unidecode('こんにちは')
    'konnitiha'
  2. node-transliterator甚至更轻,但表现得更符合您的要求:

    $ npm install transliterator
    ...
    transliterator@0.1.0 node_modules/transliterator
    $ node
    > var transliterator = require('transliterator');
    undefined
    > transliterator('éclair')
    'eclair'
    > transliterator('bär')
    'baer'
    > transliterator('привет')
    ''
    > transliterator('こんにちは')
    ''
  3. node-urlify与您的要求稍微接近但也更远:

    $ npm install urlify
    ...
    urlify@0.3.5 node_modules/urlify
    $ node
    > var urlify = require('urlify').create({ spaces: ' ' });
    undefined
    > urlify('éclair')
    'eclair'
    > urlify('bär')
    'bar'
    > urlify('привет')
    'privet'
    > urlify('こんにちは')
    '_____'
  4. 最后,limax更重量级,当我执行 npm install limax 时,它打印了很多 C 编译器警告,但它仍然可以正常工作并且最接近您的要求:

    $ npm install limax
    ...
    limax@0.0.2 node_modules/limax
    ├── speakingurl@0.9.1
    ├── pinyin2@2.0.8
    ├── hepburn@0.5.2 (bulk-replace@0.0.1)
    └── cld@0.0.6
    $ node
    > var slug = require('limax')
    undefined
    > slug('éclair')
    'eclair'
    > slug('bär')
    'baer'
    > slug('привет')
    'privet'
    > slug('こんにちは')
    'konnichiha'

关于javascript - 将重音文本转换为 ASCII 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22468212/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com