汉字转拼音的原理
假设我们可以把所有汉字按拼音排序,比如按’A’, ‘AI’, ‘AN’, ‘ANG’, ‘AO’, ‘BA’,…,’ZUI’, ‘ZUN’, ‘ZUO’排序,那么,我们只需要记住每个相同拼音的汉字队列的第一个汉字就好了。那么,所需要的字典就会很小(覆盖所有拼音即可,拼音数量本身不多)ICU/本地化相关的API提供了这个排序APIIntl.Collator API:Intl.Co...
·
假设我们可以把所有汉字按拼音排序,比如按’A’, ‘AI’, ‘AN’, ‘ANG’, ‘AO’, ‘BA’,…,’ZUI’, ‘ZUN’, ‘ZUO’排序,那么,我们只需要记住每个相同拼音的汉字队列的第一个汉字就好了。那么,所需要的字典就会很小(覆盖所有拼音即可,拼音数量本身不多)
ICU/本地化相关的API提供了这个排序API
- Intl.Collator API:Intl.Collator内部实现了本土化相关的字符串排序。我们通过Intl.Collator.prototype.compare可以把所有汉字 基本 按照拼音来排序。
- 边界汉字表:记录了排序的边界点。该汉字表的每个汉字都是排序后相同拼音的汉字集合的首个汉字
const COLLATOR = new Intl.Collator(['zh-Hans-CN'])
更多推荐
已为社区贡献1条内容
所有评论(0)