网站首页 > 资源文章 正文
汉字转拼音
观众朋友们,不知道大家在工作中有没有遇见过这种情况,比如这是一个输入框,它里边输的值,后端希望你把输入的值转成拼音发给他,比如这个留要转成对应的拼音,然后去发给后端,他根据拼音去进行搜索。
在之前是使用拼音 js 去完成的,我就非常的好奇,他是怎么去把汉字转成拼音的?难道是用了非常各种牛逼的编码的转换吗?后来我就去研究了,发现它并没有使用编码的转换,它是使用了一个 4 万行代码的字典表去实现的,但是字典表实现起来又非常有意思,所以今天来给大家讲讲这个东西是怎么做的。
首先创建了一个字典,这个字典就是一个空对象,假装模拟一下,有个字典,比如搜索留,举个例子,这个就是它的 key,这是它的 key,在后面就是对应它的拼音,对应留,也就是需要把留去传到函数里边,函数就会把留去转成对应的 16 进制,通过 16 进制去匹配拼音。
也就是字符怎么去转成 16 进制?也就是需要完成这么一步操作才能去匹配到这个东西。怎么知道它是 16 进制?其实学过计算机都知道,0X 开头的一般都是 16 进制。
1. 第一步需要先把它转成 10 进制,并且要转成数字,这个就非常简单了,先给它标注一下类型,这样就会有代码提示,就是调这个方法,再把它删掉就可以了。这个方法就是转成 10 进制,并且是数字。
2. 来看一下值,它就转成 10 进制了,并且是数字,它是什么 10 进制?它是 unico 的,它是 Uni code,它是 Unicode 的十进制,也就是说留所对的 Unicode 的十进制的数字,来看一下,然后就对的是这个,希望的是十六进制,所以就比较简单了。
如果它是数字就好做了,可以调用 toString,转成 16 进制就可以了,再去拼上 0X 就可以了,也就这样子,这样传进去就可以去匹配上了,这样就会返回拼音。其实内部的大概就是去做了这么一件事情,把字转成对应的十六进制,然后去返回拼音,所以这个就是大概的实现原理,也是很有意思。
- 上一篇: 按键精灵安卓版将汉字转拼音的源码分享
- 下一篇: C#汉字转换为拼音教程(c#转译字符)
猜你喜欢
- 2024-10-01 汉语拼音,音节拼读表,各年级受用
- 2024-10-01 羸、赢、嬴、蠃、鸁、臝、?这七个字如何读?形似为何存在音异?
- 2024-10-01 探android汉字转拼音的一种方法(汉字转拼音和读音软件)
- 2024-10-01 汉字转拼音的Java类库 JPinyin(java 汉字转换拼音)
- 2024-10-01 如何快速给汉语添加拼音?(如何快速给汉语添加拼音字母)
- 2024-10-01 x-cmd pkg | pypinyin - 汉字拼音转换工具
- 2024-10-01 第二讲?汉字古今读音(第二讲?汉字古今读音是什么)
- 2024-10-01 汉字读音发生变化,不必大惊小怪(汉字读音变化规律)
- 2024-10-01 如何word+excel处理中文名字转汉语拼音
- 2024-10-01 Excel如何快速批量将中文名字转换为拼音?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)