汉字转拼音的原理

假设我们可以把所有汉字按拼音排序,比如按’A’, ‘AI’, ‘AN’, ‘ANG’, ‘AO’, ‘BA’,…,’ZUI’, ‘ZUN’, ‘ZUO’排序,那么,我们只需要记住每个相同拼音的汉字队列的第一个汉字就好了。那么,所需要的字典就会很小(覆盖所有拼音即可,拼音数量本身不多)

ICU/本地化相关的API提供了这个排序API

  1. Intl.Collator API:Intl.Collator内部实现了本土化相关的字符串排序。我们通过Intl.Collator.prototype.compare可以把所有汉字 基本 按照拼音来排序。
  2. 边界汉字表:记录了排序的边界点。该汉字表的每个汉字都是排序后相同拼音的汉字集合的首个汉字 const COLLATOR = new Intl.Collator(['zh-Hans-CN'])

链接指向汉字转拼音的GitHub地址

你可能感兴趣的:(前端学习)