Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.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->没有CLDR的语言代码?_Javascript_Python_Unicode_Cldr - Fatal编程技术网

Javascript 粗糙的Unicode->没有CLDR的语言代码?

Javascript 粗糙的Unicode->没有CLDR的语言代码?,javascript,python,unicode,cldr,Javascript,Python,Unicode,Cldr,我正在写一个字典应用程序。如果用户键入Unicode字符,我想检查该字符是哪种语言 e、 g 我搜索了一下,发现可以用CLDR完成 或者谷歌API 但就我而言 查找大型charmap数据库似乎需要大量的存储和内存 调用API太慢,而且需要网络连接 不需要非常准确。大约80%的正确率是可以接受的 简单快速是主要要求 可以只覆盖UCS2 BMP字符。 有什么建议吗 我需要在Python和Javascript中使用它。谢谢 如果语言的数量相对较少或您关心的语言数量相对较少,则可以对每种语言使用Bloo

我正在写一个字典应用程序。如果用户键入Unicode字符,我想检查该字符是哪种语言

e、 g

我搜索了一下,发现可以用CLDR完成

或者谷歌API

但就我而言

查找大型charmap数据库似乎需要大量的存储和内存 调用API太慢,而且需要网络连接 不需要非常准确。大约80%的正确率是可以接受的 简单快速是主要要求 可以只覆盖UCS2 BMP字符。 有什么建议吗


我需要在Python和Javascript中使用它。谢谢

如果语言的数量相对较少或您关心的语言数量相对较少,则可以对每种语言使用Bloom过滤器。Bloom过滤器允许您执行非常便宜的成员资格测试,这些测试可能会出现误报,而不必将所有成员都存储在内存中。在本例中,代码点存储在内存中。然后,通过对照每种语言的预构造过滤器检查代码点来构建结果集。它是可调的-如果你得到太多的误报,你可以使用一个更大尺寸的过滤器,以牺牲内存为代价

有针对Python和Javascript的BloomFilter实现。嘿-我见过做这件事的人

布卢姆过滤器:

如果您只需要BMP 65536代码点,则只需为每种语言存储一个直线位集,就可以阅读更多内容。或2D表示语言X代码点


你想考虑多少种语言?

< P>如果语言的数量相对较少或你关心的数字相当小,你可以使用Bloom Filter为每种语言。Bloom过滤器允许您执行非常便宜的成员资格测试,这些测试可能会出现误报,而不必将所有成员都存储在内存中。在本例中,代码点存储在内存中。然后,通过对照每种语言的预构造过滤器检查代码点来构建结果集。它是可调的-如果你得到太多的误报,你可以使用一个更大尺寸的过滤器,以牺牲内存为代价

有针对Python和Javascript的BloomFilter实现。嘿-我见过做这件事的人

布卢姆过滤器:

如果您只需要BMP 65536代码点,则只需为每种语言存储一个直线位集,就可以阅读更多内容。或2D表示语言X代码点


<>你想考虑多少种语言?

< P> >把字形缩窄到语言族就足够了吗?如果是这样,您可以根据BMP的映射创建一组范围language->code range,如Unicode图表页面的脚本部分所示-

由于共享符号的数量,可靠地确定glyph的父语言肯定更加复杂。如果您只需要80%的准确度,您可以调整某些语言的范围,以便在简化范围的情况下有意包含/省略某些字符


编辑:我重新阅读了您引用CLDR的问题以及关于代码->语言映射的第一个答案。我认为这绝对是不可能的,但如果计算成本有点高的话,反过来似乎是可行的。通过巧妙的数据结构,您可以识别语言族,然后从那里深入到实际的语言范围,减少通过不相关的语言->范围对进行的遍历。

将glyph缩小到语言族就足够了吗?如果是这样,您可以根据BMP的映射创建一组范围language->code range,如Unicode图表页面的脚本部分所示-

由于共享符号的数量,可靠地确定glyph的父语言肯定更加复杂。如果您只需要80%的准确度,您可以调整某些语言的范围,以便在简化范围的情况下有意包含/省略某些字符


编辑:我重新阅读了您引用CLDR的问题以及关于代码->语言映射的第一个答案。我认为这绝对是不可能的,但如果计算成本有点高的话,反过来似乎是可行的。通过巧妙的数据结构,您可以识别语言族,然后从那里深入到实际的语言范围,减少通过不相关的语言->范围对的遍历。

这可能有助于评估可能的方法,了解您为什么要这样做。对于字母“a”在一些大型语言列表中使用的信息,您会怎么做?也许a只是一个不好的例子。正如我提到的,我正在编写一个字典应用程序,这意味着我可以根据用户试图查找的语言提供额外的信息或广告。我认为“a”是一个很好的例子:可能有数百种语言,因此猜测语言会相当困难。这可能有助于评估可能的方法,想知道你为什么要这么做。你会怎么做
关于字母“a”在一些大型语言列表中使用的信息,也许a只是一个不好的例子。正如我提到的,我正在编写一个字典应用程序,这意味着我可以根据用户试图查找的语言提供额外的信息或广告。我认为“a”是一个很好的例子:可能有数百种语言,因此,猜测语言是相当困难的。事实上,我真的很喜欢使用bloom过滤器并预先填充大量来自各种语言维基的明文维基百科文章的想法,但国际字符集是如此庞大;我觉得k和m必须大得让人讨厌。好吧,这取决于est对误报的敏感程度,我想-我认为需要一些实验来找到它存在的最佳点。我喜欢它的简单和快速,虽然。我真的很喜欢使用布鲁姆过滤器的想法,并预先填充大量来自各种语言维基的明文维基百科文章,但国际字符集是如此庞大;我觉得k和m必须大得让人讨厌。好吧,这取决于est对误报的敏感程度,我想-我认为需要一些实验来找到它存在的最佳点。我喜欢它简单又快速。
字 - returns ['zh', 'ja', 'ko'] 
العربية - returns ['ar']
a - returns ['en', 'fr', 'de'] //and many more
й - returns ['ru', 'be', 'bg', 'uk']