如何把汉字转成五笔与拼音(首字母或全部字母)
备注:其中的PY,WB为码表;dll找不到上传得地方
using System;
using System.IO;
using System.Collections;
namespace ChsHelper
{
/// <summary>
/// 如何把汉字转成五笔与拼音(首字母或全部字母)
/// 结合网上资源改写
/// by lazzarone@163.com
/// 2006-4-25
/// </summary>
public class ChsToLetter
{
private ArrayList arrayPY = new ArrayList();
private ArrayList arrayWB = new ArrayList();
public ChsToLetter()
{
init();
}
#region 加载资源
/// <summary>
/// 加载资源
/// </summary>
public void init()
{
//py
StreamReader fr = new StreamReader(this.GetType().Assembly.GetManifestResourceStream("ChsHelper.PY"),System.Text.UnicodeEncoding.Default);
string str = string.Empty;
for(int i=0;i <20902;i++)
{
try
{
str = fr.ReadLine();
arrayPY.Add(new ConvertClass(str.Substring(1),str.Substring(0,1)));
}
catch(Exception e)
{
//Console.Write(e.Message);
}
}
fr.Close();
//wb
fr = new StreamReader(this.GetType().Assembly.GetManifestResourceStream("ChsHelper.WB"),System.Text.UnicodeEncoding.Default);
for(int i=0;i <6765;i++)
{
try
{
str = fr.ReadLine();
arrayWB.Add(new ConvertClass(str.Substring(1),str.Substring(0,1)));
}
catch(Exception e)
{
//Console.Write(e.Message);
}
}
fr.Close();
}
#endregion
#region GetPY
/// <summary>
/// 获得拼音
/// </summary>
/// <param name="str">字符串</param>
/// <param name="isUp">是否大写</param>
/// <param name="full">全部字母或首字母</param>
/// <returns></returns>
public string GetPY(string str,bool isUp,bool full)
{
string tmpStr = string.Empty;
string ssStr = string.Empty;
foreach(char c in str)
{
if((int)c >= 33 && (int)c <=126)
{
//字母和符号原样保留
tmpStr += c.ToString();
}
else
{
//累加拼音声母
ssStr = GetValue(arrayPY,c.ToString(),full);
tmpStr += isUp == true? ssStr.ToUpper(): ssStr;
}
}
return tmpStr;
}
#endregion
#region GetWB
/// <summary>
/// 获得五笔码
/// </summary>
/// <param name="str">字符串</param>
/// <param name="isUp">是否大写</param>
/// <param name="full">全部字母或首字母</param>
/// <returns></returns>
public string GetWB(string str,bool isUp,bool full)
{
string tmpStr = string.Empty;
string ssStr = string.Empty;
foreach(char c in str)
{
if((int)c >= 33 && (int)c <=126)
{
//字母和符号原样保留
tmpStr += c.ToString();
}
else
{
//累加拼音声母
ssStr = GetValue(arrayWB,c.ToString(),full);
tmpStr += isUp == true? ssStr.ToUpper(): ssStr;
}
}
return tmpStr;
}
#endregion
#region GetValue
/// <summary>
/// 查找码表
/// </summary>
/// <param name="list">数组</param>
/// <param name="Value">查找值</param>
/// <param name="full">全部字母或首字母</param>
/// <returns>string</returns>
public string GetValue(ArrayList list,string Value,bool full)
{
System.Collections.IEnumerator myEnumerator = list.GetEnumerator();
while ( myEnumerator.MoveNext() )
{
if(((ConvertClass)myEnumerator.Current).Value == Value)
{
if(full)
return ((ConvertClass)myEnumerator.Current).Key;//全码
else
return ((ConvertClass)myEnumerator.Current).Key.Substring(0,1);//首字母
}
}
return String.Empty;
}
#endregion
}
#region 转换类
/// <summary>
/// ConvertClass
/// </summary>
public class ConvertClass
{
private string _key;
private string _value;
public ConvertClass(string key,string Value)
{
this._key = key;
this._value = Value;
}
public String Value
{
get{ return this._value;}
}
public String Key
{
get{ return this._key;}
}
}
#endregion
}
如何把汉字转成五笔与拼音(首字母或全部字母)相关推荐
- java如何把汉字转换成机内码_java语言如何将汉字转化成五笔
java语言如何将汉字转化成五笔 [2021-01-31 08:32:59] 简介: php将汉字转ascii的方法:首先创建一个php示例文件:然后通过封装好的"public funct ...
- 思成五笔的通俗易懂讲解
从上面五笔学习导图,我们不难看出,五笔只包含两个部分,一是独立字.二是字根字. 1 先来讲解独立字. 独立字就是不用字根就可以输出的汉字,独立字包含一级简码,按键字两种. 一级简码:按一个字母一次,就 ...
- linux桌面版安装输入法,Debian KDE桌面安装五笔和拼音输入法
本文将向读者展示如何在Debian KDE桌面安装五笔输入法.本文分两部分,第一部分介绍ibus平台输入法的安装:第二部分是fcitx平台输入法的安装.读者可以选择安装ibus,也可以选择安装fcit ...
- linux输入法大小,推荐linux下的输入法--五笔+拼音
推荐linux下的输入法--五笔+拼音 (2012-03-19 15:35:57) 标签: yum 输入法 repo ibus wubi pinyin 杂谈 在linux下,输入法问题曾经困扰过我一段 ...
- linux 五笔中文输入法,Linux下如何使用五笔和拼音,区位输入法
原标题:Linux下如何使用五笔和拼音,区位输入法 Linux在X下使用五笔和拼音,区位输入法方法:下载fcitx的rpm包安装即可. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基 ...
- mac 百度输入法如何切换成五笔,如何切换回拼音模式
问题描述: 用百度五笔输入法的时候,不小心把把百度输入法更新了,结果变成了拼音输入法.想切换回五笔输入法一直找不到- - 问题解决: 随便找一个地方用百度输入法按个拼音出来,看自己电脑的右上角. 如下 ...
- 韶关python培训班_新华字典:韶_“韶”的意思,五笔,笔画,拼音,五行_HttpCN
基本解释 详细解释 汉语字典 康熙字典 说文解字 相关查询 『韶』 拼音:sháo 注音:ㄕㄠˊ 部首:音 部首笔画:9 总笔画:14 康熙字典笔画( 韶:14: ) 五笔86:UJVK 五笔98:U ...
- 掌握python和js_新华字典:掌_“掌”的意思,五笔,笔画,拼音,五行_HttpCN
基本解释 详细解释 汉语字典 康熙字典 说文解字 相关查询 『掌』 拼音:zhǎng 注音:ㄓㄤˇ 部首:手 部首笔画:4 总笔画:12 康熙字典笔画( 掌:12: ) 五笔86:IPKR 五笔98: ...
- ubuntu安装好后第二步:安装极点五笔(支持五笔、拼音混输)和更新浏览器
一. ibus下安装极点五笔 在终端中执行如下操作 sudo wget http://www.unicom-china.com/download/vissible-ibus.tar.gz tar -z ...
最新文章
- mysql 手动写时间_关于数据库中如何存储时间的一点思考
- STM32 RTC实时时钟
- MySQL AS:设置别名
- Postgresql 物理热备份 -- 快照备份
- 透明大页相关内核参数_Linux7.4 关闭透明大页
- 自学JAVA5.18
- tomcat8+linux+IDEA配置远程代码调试
- C#中 JSON 序列化 与 反序列化
- UML概要基础知识(待完善)
- 基于STM32的高精度温度测控系统-PCB设计
- docker安装wechat微信、wxwork企业微信脚本整理
- 沪牌软件操作开发说明
- html5中国产业联盟,中软国际联合发起HTML5+联盟为产业生态服务
- Elasticsearch生命周期ILM若干时间后自动删除索引index
- 【编程语言】Scala下载及安装教程 CentOS 7
- ESXI虚拟机搭建华三vFW2000虚拟防火墙
- LTE-5G学习笔记33--通信行业考哪些证可以升职加薪
- 怎么选择WiFi短信认证硬件供应商?
- Windows10禁止自动重启和按键盘任意键自动开机
- MySql的安装和卸载