转拼音

汉字转拼音问题

折月煮酒 提交于 2020-03-19 04:12:46
这是一个非常经典的问题,同时,也是一个很难解决的问题。经典是因为,这个问题非常常见,而且有很多解决方案。 难以解决是因为,存在多音字。可以发现很多股票软件都有这问题,比如zgyh 出来的不是中国银行,而是找不到, 这是因为,中国银行的 “行” 查出来读的是 "xing" 。我篇文章我只是提供了一个原始的转换方法,就是查表。 和你以前看过的算法可能不一样的是,我加了一个二分查找,我看到的一个开源的解决方案是顺序查找的。 关于,多音字问题,我只有一个小规模的多音字表,从所有股票名称里面纠正过来的。解决方案是这样的:在查找拼音的时候, 查找一下这个字是否在多音字表里面,如果是,那么查找前后组成的词,来决定读什么。如果有谁有完整的多音字表,或者有更好的 解决方案,请给我留言。我一定拜谢。 代码 <? php /* * * 初始化 * * @param string $file 拼音代码对应表 * @return array 把这个对应表映射成array的格式 */ function pinyin_init( $file ) { $pinyin = file ( $file ); if ( empty ( $pinyin )) { throw new Exception ( " load pinyin table error. " ); } foreach ( $pinyin as $k =

汉字转拼音首字母或则全拼工具类

纵然是瞬间 提交于 2020-03-12 02:49:15
import net . sourceforge . pinyin4j . PinyinHelper ; import net . sourceforge . pinyin4j . format . HanyuPinyinCaseType ; import net . sourceforge . pinyin4j . format . HanyuPinyinOutputFormat ; import net . sourceforge . pinyin4j . format . HanyuPinyinToneType ; import net . sourceforge . pinyin4j . format . HanyuPinyinVCharType ; import net . sourceforge . pinyin4j . format . exception . BadHanyuPinyinOutputFormatCombination ; /** * @ClassName:PinYinUtil * @Description: * @date 2019-08-07 18:37 */ public class PinYinUtil { /** /** * 汉字转换为大写拼音(第一个字母) * 我就是我->WJSW */ public static String

Java中文转拼音、汉字转拼音

你离开我真会死。 提交于 2020-03-03 12:05:23
需要jar包 [XML] 纯文本查看 复制代码 ? 1 2 3 4 5 < dependency > < groupId >com.belerweb</ groupId > < artifactId >pinyin4j</ artifactId > < version >2.5.1</ version > </ dependency > 第一个 : 汉字转拼音全拼不忽略英文字符 [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 /** * (全拼)中文转拼音 --->不忽略英文字符 * @param chinese * @return */ public static String getFullSpell(String chinese) { StringBuffer pybf = new StringBuffer(); char [] arr = chinese.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);

C#实现汉字转拼音

心不动则不痛 提交于 2020-03-02 04:50:05
实现了取汉字文本首字母、文本对应拼音、以及获取和拼音对应的汉字列表等方法。由于汉字字库大,且多音字较多,因此本组中实现的拼音转换不一定和词语中的字的正确读音完全吻合。但绝大部分是正确的。如有遗漏可以在开发中加入。首先,我将汉字按拼音分组后建立一个字符串数组,然后使用程序将每一个汉字通过其编码值使用散列函数。其中, pos(x)为字符x所属字符串所在的PyCode.codes的数组下标, 然后散列到同PyCode.codes长度相同长度的一个散列表中PyHash.hashes)。 当检索一个汉字的拼音时,首先从PyHash.hashes中获取和对应的PyCode.codes中数组下标,然后从对应字符串查找,当到要查找的字符时,字符 串的前6个字符即包含了该字的拼音。 此种方法的好处一是节约了存储空间,二是兼顾了查询效率 using System; using System.Collections.Generic; using System.Text; namespace NPinyin { internal class PyCode { internal static string[] codes = new string[]{ "a :阿啊吖嗄腌锕", "ai :爱埃碍矮挨唉哎哀皑癌蔼艾隘捱嗳嗌嫒瑷暧砹锿霭", "an :安按暗岸案俺氨胺鞍谙埯揞犴庵桉铵鹌黯", "ang :昂肮盎

C# 汉字转拼音(全拼)

一笑奈何 提交于 2020-03-02 04:49:09
很多时候我们需要把汉字转换成拼音,比如姓名、城市名等。网上搜索了一把,把汉字转成拼音的代码很多,但大多都只是把汉字转成了拼音的首字母,比如把“深圳”转成了“sz”。那么如何把汉字转成全拼(“深圳”转成了“ShenZhen”。)呢?有的说汉字那么多根本做不到,有的说是要用字库。其实仔细分析一下,虽然汉字很多,但汉字的读音(忽略声调,因为我们不需要)却很有限。利用这个特点,我们把汉字转成拼音就不是一件很困难的事了! 代码: private void button1_Click( object sender, EventArgs e) { this .textBox2.Text = Hz2Py.Convert( this .textBox1.Text); } 汉字转拼音类: /// <summary> /// 汉字转拼音类 /// </summary> public class Hz2Py { private static int [] pyValue = new int [] { - 20319 , - 20317 , - 20304 , - 20295 , - 20292 , - 20283 , - 20265 , - 20257 , - 20242 , - 20230 , - 20051 , - 20036 , - 20032 , - 20026 , - 20002 , -

Excel表格中汉字转拼音

早过忘川 提交于 2020-02-16 06:13:22
一、使用“实用汉字转拼音V4.8” 软件 下载地址 http://www.orsoon.com/soft/4413.html 或则百度 很多的 二、Excel自定义函数方法:   1.启动Excel 2003(其它版本请仿照操作),打开相应的工作表;   2.执行“工具→宏→Visual Basic编辑器”命令(或者直接按“Alt+F11”组合键),进入Visual Basic编辑状态;   3.执行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑状态;   4.将代码输入其中;   5.代码输入完成后,关闭Visual Basic编辑窗口,返回Excel编辑状态;   6.自定义函数就可以用了,如:选中D2单元格,输入公式:=PinYin(A2)。   7、使用公式,去掉拼音之间的空格,架设你的这个数据在A1单元格,在B1单元格输入:=SUBSTITUTE(A1," ",'') Function PinYin(Hz As String) Dim PinMa As String Dim MyPinMa As Variant Dim Temp As Integer, i As Integer, j As Integer PinMa = "a,20319,ai,20317,an,20304,ang,20295,ao,20292," PinMa = PinMa &

C#开发:分享开源汉字转拼音

霸气de小男生 提交于 2020-02-07 01:33:41
做系统开发时,有时需要根据拼音,或者是拼音的首字母,进行关键字的查询,这样需要把汉字转换成拼音,提取拼音的首字母,存储到数据库中作为字段进行查询。 C#有一个开源的类库npinyin,可以将汉字转换成拼音,或者直接提取汉字拼音的首字母。 此开源项目之前托管在谷歌code上,访问不到谷歌的,现在在github上,已经有此项目的托管,可以直接搜索获取到。 获取中文字符串的拼音,需要中文字符是以utf-8编码的。 Pinyin . GetPinyin ( "中文字符串" ) ; 获取拼音首字母的时候,需要是GB2312的编码: Encoding gb2312 = Encoding . GetEncoding ( "GB2312" ) ; string s = Pinyin . ConvertEncoding ( m , Encoding . UTF8 , gb2312 ) ; Pinyin . GetInitials ( s , gb2312 ) 更多文章请关注公众号 来源: CSDN 作者: wclwksn2019 链接: https://blog.csdn.net/wclwksn2019/article/details/104198765

一个汉字转拼音的小工具

狂风中的少年 提交于 2020-01-27 09:36:17
前段时间有个朋友说有没有什么办法将一些地市名字批量转换成拼音,找了下,发现python有个xpinyin的库,可以弄,就拿来封装一下,写了个小工具。 一、开发环境: windows 10 x64 python:3.7.2 x64 xpinyin:0.5.6 pyinstaller:3.5 二、运行环境: 如果只是运行打包发布的exe程序,64位的windows系统应该都没什么问题,当然,具体我也没测试过。 三、使用说明: 1、例如,你需要将下面这一列中文,转换成拼音,先将Excel文件另存为csv文件,文件的第一列,就放你要转换的中文。 2、例如,另存为后的文件叫做“地市名称.csv”,文件放到与工具同一目录,如下: 3、双击运行“中文转拼音小工具.exe”,按提示设置几个参数(如下): 4、然后,输入要转换的源csv文件,即刚才另存为的“地市名称.csv”文件,输入后按回车开始转换: 5、转换完成后,到原文件夹下查看,会有一个新的转换后的文件,打开即可查看转换后的结果 6、转换结果如下: ------------------------------------------------------------------------------------------------------------------ 相关文件及源码,已经传到资源分享,可免费下载,可随意修改。 来源:

vue项目中实现汉字转拼音缩写

杀马特。学长 韩版系。学妹 提交于 2020-01-22 13:20:00
前段时间接到了这样一个需求,注册页面中有多个输入框,要求第一个输入框输入汉字后,第二个输入框自动填充对应的拼音开头缩写。实现思路是这样的,第一步完成拼音转汉字缩写功能,第二步为第一个输入框添加失焦时间,失焦时计算当前对应拼音缩写,如第一个输入框对应内容为空,则清空第二个输入框,具体代码如下: 完成拼音转汉字缩写功能 新建util.js并添加以下代码 export default { ConvertPinyin ( l1 ) { //汉字库 const PinYin = { "a" : "\u554a\u963f\u9515" , "ai" : "\u57c3\u6328\u54ce\u5509\u54c0\u7691\u764c\u853c\u77ee\u827e\u788d\u7231\u9698\u8bf6\u6371\u55f3\u55cc\u5ad2\u7477\u66a7\u7839\u953f\u972d" , "an" : "\u978d\u6c28\u5b89\u4ffa\u6309\u6697\u5cb8\u80fa\u6848\u8c19\u57ef\u63de\u72b4\u5eb5\u6849\u94f5\u9e4c\u9878\u9eef" , "ang" : "\u80ae\u6602\u76ce" , "ao" : "\u51f9\u6556

PHP 汉字转拼音(首拼音,所有拼音)

寵の児 提交于 2020-01-05 03:24:22
这个是在网上找的,找到的转换后是乱码,现在这个是网上找的两上合成的.记录一下,或许有人有需要 1 <?php 2 /** 3 +------------------------------------------------------ 4 * PHP 汉字转拼音 5 +------------------------------------------------------ 6 * 使用方法: 7 * $py = new PinYin(); 8 * echo $py->getAllPY("输出汉字所有拼音"); //shuchuhanzisuoyoupinyin 9 * echo $py->getFirstPY("输出汉字首拼音"); //schzspy 10 +------------------------------------------------------ 11 */ 12 class PinYin { 13 private $pylist = array( 14 'a'=>-20319,'ai'=>-20317,'an'=>-20304,'ang'=>-20295,'ao'=>-20292, 15 'ba'=>-20283,'bai'=>-20265,'ban'=>-20257,'bang'=>-20242,'bao'=>-20230,'bei'=>-20051