Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript函数将unicode PSEDOO字母表转换为常规字符?_Javascript_Unicode - Fatal编程技术网

JavaScript函数将unicode PSEDOO字母表转换为常规字符?

JavaScript函数将unicode PSEDOO字母表转换为常规字符?,javascript,unicode,Javascript,Unicode,我正在尝试编写一个函数,该函数接受包含unicode PSEDOO字母表中字符的任何字符串,并返回一个等效字符串,其中这些字符已被ASCII中的常规字符替换 const-toRegularCharacters=s=>{ // ? }; toRegularCharacters('ⓗⓔⓛⓛⓞ, ⓦⓞⓡⓛⓓ'); // “你好,世界” toRegularCharacters(“您可以编写代码来查询Unicode数据库,您可以从下载该数据库(或通过进行查询,但这可能是有速率限制的)。该数据库包括一些内容

我正在尝试编写一个函数,该函数接受包含unicode PSEDOO字母表中字符的任何字符串,并返回一个等效字符串,其中这些字符已被ASCII中的常规字符替换

const-toRegularCharacters=s=>{
// ?
};
toRegularCharacters('ⓗⓔⓛⓛⓞ, ⓦⓞⓡⓛⓓ'); // “你好,世界”

toRegularCharacters(“您可以编写代码来查询Unicode数据库,您可以从下载该数据库(或通过进行查询,但这可能是有速率限制的)。该数据库包括一些内容,例如对于其他glyph,哪些glyph是“易混淆的”


例如,您的按照来自的建议,此解决方案使用
unicode-12.1.0
NPM包:

const unicodeNames=require('unicode-12.1.0/Names');
const overrides=Object.freeze({
'ん': 'h',
'乇': 'E',
'レ': 'l',
'尺': 'r',
// ...
});
常量toRegularCharacters=xs=>{
if(类型为xs!=='string'){
抛出新类型错误('xs必须是字符串');
}
返回[…xs].map(x=>{
常量覆盖=覆盖[x];
如果(覆盖){
返回覆盖;
}
常量名称=单字节名称
.get(x.codepoint(0))
.split(/\s+/);
//console.log({
//x,,
//姓名,
// });
const isCapital=names.some(x=>x=='CAPITAL');
const isLetter=isCapital | | name.some(x=>x='SMALL');
如果(胰岛移植){
//例如,“Ŧ”被命名为“带笔划的拉丁文大写字母T”
const c=names.some(x=>x=='WITH')?
名称[名称.长度-3]:
名称[名称.长度-1];
还不是资本?
c:
c、 toLowerCase();
}
返回x;
}).加入(“”);
};
console.log(

toRegularCharacters('自ん, 乇, 尺 及レ 除了使用自定义查找表之外,没有其他方法可以接近任何西方字母。对于其他字母,可能会有某种形式,但对于那些字母则不行。@deceze我明白你的意思;实现不必是完美的。那么,你的目标是什么字母?只是这里作为示例显示的一小部分?或者其他任何类似的字母甚至看起来和其他任何东西都一样…?@deceze-Unicode有“易混淆”的概念这些都包含在数据库中。例如:@T.J.继续,然后发布你的答案…但是由于输入是基于一个完全任意的映射,OP不想创建一个自定义映射,IMO没有真正的解决方案…字符实用程序结果中的
idn_映射
看起来也很有希望-@Seth-ooh,耶啊。