字转换拼音
发布网友
发布时间:2022-04-20 17:31
我来回答
共5个回答
热心网友
时间:2022-05-16 03:51
在讯飞输入法里面。就可以切换。点击汉语和拼音。切换。
热心网友
时间:2022-05-16 05:09
欢迎大家使用中文转拼音系统,此功能具有将一段中文字转换成拼音的功能,只要在原中文字的框框内输入一段中文,然后点击“查拼音”的按钮,即可转换成功!
热心网友
时间:2022-05-16 06:44
你好网友,这是键盘输入法,中文和英文的转换。你可以打开键盘,找到中/英转换键,按一下,就是汉语拼音输入法。
热心网友
时间:2022-05-16 08:35
要,yao,就jou
热心网友
时间:2022-05-16 10:43
汉字转拼音,首先想到的是准备一张超大的汉字到拼音的映射表,我们先来算下这张映射表有多大。
基本汉字一共有 20902 个,对应 Unicode 的编码范围是 4E00-9FA5,其中包括了朝鲜文汉字和日文汉字,所以也称为中日韩统一表意文字(英语:CJK Unified Ideographs)。有些汉字是多音字,如果每个汉字只取一种读音,这张汉字到拼音的映射表有 329KB,按拼音排序后,gzip 后的文件大小,最小可以减少至 46.7KB(不排序的话有 72.4KB,压缩算法对有序字符串有更高的压缩率)。所以,在浏览器中直接使用这个映射表文件的成本比较大,一般汉字转拼音都在后端处理。
今天向大家介绍一种在浏览器端实现的汉字转拼音方法,实现文件 gzip 后只有 2.7KB(修正 Safari 浏览器后的大小是 3.9KB),支持所有的基本汉字(实现时去掉了浏览器不识别的汉字,比如在 Chrome 浏览器中去掉的汉字有:兙、兡、嗧、桛、烪、瓧、瓰、瓱、瓼、甅),体积和效率都有保证。
注意,本实现不支持多音字,也不支持声调。在浏览器端使用的时候,由于输入法一般也打不出声调来,所以使用场景应该不受影响。另外映射表和代码也可以自己实现,以便满足个性化需求。
实现原理
在 JavaScript 中,字符串 String 有个方法叫 localeCompare,它可以对汉字按拼音进行排序,代码如下:
let name = '网易杭州';
let sortedName = name.split('').sort((a, b) => {
// 如果我没记错的话,早期的这个方法并不需要第二个参数
return a.localeCompare(b, 'zh-CN');
}).join('');
console.log(sortedName); // 输出 '杭网易州'
该方法在 Chrome、Safari、Firefox、IE11 等浏览器中都可以使用。利用这个方法,就可以知道任意两个汉字的相对顺序。
汉字虽然有 20000 多个,但汉字拼音是有限的,一共有 410 多个拼音,这些拼音把所有的汉字划分成了一个个的区块: