如何在Javascript中将Unicode转换为ASCII?

6

如何在纯Javascript中将Unicode字符转换为ASCII字符?

input:  'Ǐńťęř'
output: 'Inter'

我需要类似于shell命令iconv -f UTF-8 -t 'ASCII//TRANSLIT'的效果,但是使用纯Javascript实现。


3
可能是Efficiently replace all accented characters in a string?的重复问题。 - SpYk3HH
你的问题已经有了答案,但这只是为了好玩:与Uni一起玩乐! - SpYk3HH
不是重复的。将转换为ASCII码更像是一种压缩函数,而不是用带有欧洲字符的字母替换其中一些字母。 - William Entriken
1个回答

0

使用高效替换字符串中所有重音字符的答案中的方法:

var makeSortString = (function() {
  var translate_re = /[αβγ]/g; // etc.
  var translate = {
    "α": "a", // alpha - a
    "β": "b", // beta -- b
    "γ": "g"  // gamma - g
    // etc.
  };
  return function(s) {
    return ( s.replace(translate_re, function(match) { 
      return translate[match]; 
    }) );
  }
})();

你可以扩展它,只包括你想要的字符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接