C#中获得汉字的首拼音(简化版)
利用汉字在计算机里面的编码来得到汉字的首拼音:
static public string GetChineseSpell(string strText)
{
int len = strText.Length;
string myStr = "";
for(int i=;i<len;i++)
myStr += getSpell(strText.Substring(i,));
return myStr;
} static public string getSpell(string cnChar)
{
byte[] arrCN = Encoding.Default.GetBytes(cnChar);
if(arrCN.Length > )
{
int area = (short)arrCN[];
int pos = (short)arrCN[];
int code = (area<<) + pos;
int[] areacode = {,,,,,,,,,,,,,,,,,,,,,,,,,};
for(int i=;i<;i++)
{
int max = ;
if(i != )
max = areacode[i+];
if(areacode[i]<=code && code<max)
return Encoding.Default.GetString(new byte[]{(byte)(+i)});
}
return "*";
}
else
return cnChar;
}
这个方法目前对一些生僻字无法解码,有待修改...
C#中获得汉字的首拼音(简化版)的更多相关文章
- C#中获得汉字的首拼音(加强版)
/// <summary> /// 汉字拼音首字母列表 /// 包含了20901个汉字,收录的字符的Unicode编码范围为19968至40869 /// </summary> ...
- Delphi中取得汉字的首字母简单方法(十分巧妙)
//从朝闻道的博客里转载,原文定义AHzStr: String,发现结果为空,后来改成AHzStr: AnsiString就可以了 function GetHzPy(const AHzStr: Ans ...
- Excel中把汉字转换成拼音码
1.启动Excel 2003(其它版本请仿照操作),打开相应的工作表: 2.执行"工具→宏→Visual Basic编辑器"命令(或者直接按"Alt+F11"组 ...
- 利用python将表格中的汉字转化为拼音
缺少包时用pip install 进行安装,例如: pip install xlsxwriter 完成代码如下: #!/usr/bin/python #-*-coding:utf-8-*- #fr ...
- Delphi中取得汉字的首字母(十分巧妙)
function Tdm.GetHzPy(const AHzStr: string): string;const ChinaCode: array[0..25, 0..1] of Integer = ...
- 如何在excel中把汉字转换成拼音
---恢复内容开始--- 1.启动Excel 2003(其它版本请仿照操作),打开相应的工作表: 2 2.执行“工具→宏→Visual Basic编辑器”命令(或者直接按“Alt+F11”组合键),进 ...
- SQL中把汉字转换拼音码
思路:在SQL中创建一个函数fn_GetPy(),函数的输入参数是一个汉字字符串,返回值是拼音码字符串. 创建函数语句: CREATE function fn_GetPy(@str nvarchar( ...
- mysql数据库中查询汉字的拼音首字母
本人提供的方法有如下特点: 1.代码精简,使用简单,只要会基本的SQL语句就行2.不用建立mysql 函数等复杂的东西3.汉字库最全,可查询20902个汉字 方法如下: 1.建立拼音首字母资料表Sql ...
- (转载)delphi中获取汉字的拼音首字母
delphi中获取汉字的拼音首字母1.py: array[216..247] of string = ({216}'CJWGNSPGCGNESYPB' + 'TYYZDXYKYGTDJNMJ' + ' ...
随机推荐
- HTML5的渐变色 渐变的两种类型 createLinearGradient 和createRadialGradient
今天又再看了html5的颜色渐变API,发现没有第一次看那么复杂. 不过我对这个颜色渐变存在着一个疑惑就是两种色带之间,那段是属于两种颜色混合的,有点模糊. 比如从红色变成黄色,在红与黄之间的那个地方 ...
- android常见错误-Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
在andorid进行调试的过程中,出现下面的错误: 解决方法: 修改一下应用程序描述符: <manifest xmlns:android="http://schemas.android ...
- O(1)调度器的时间计算公式与CFS调度器
http://blog.csdn.net/dog250/article/details/48750809 O(1): 优先级计算: 进程优先级公式:prio=MAX_RT_PRIO+nice+20其中 ...
- LabVIEW设计模式系列——状态机
标准:1.状态用枚举自定义类型,便于统一管理修改.2.一般地应该有:Initialize,Idle,Stop,Blank状态.3.Initialize进行一些初始化的操作:Idle一种过渡状态,用于和 ...
- LabVIEW系列——合并错误(VI)的用法
Merge Errors.vi的功能:1.按顺序搜索错误输入1,2,3,以及错误数组输入中的错误,输出第一个错误. 2.如果没有错误,也就是错误状态都为F ...
- Load Balance Tomcat with Nginx and Store Sessions in Redis--reference
An awkward title, but that’s exactly what we’re going to do. For some time, I was looking for a way ...
- python学习笔记--导入tab键自动补全功能的配置
今天开始学习Python,必须配置tab键补全功能 1.首先我们需要查看python的安装路径 [root@abc ~]# python Python 2.6.6 (r266:84292, Jan 2 ...
- java web 一次请求从开始到响应结束的过程
博客原文: http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html HTTP(HyperText Transfer ...
- Linux查看系统负载常用命令
1.查看负载 uptime :: up day, :, user, load average: 0.00, 0.00, 0.00 在过去1分钟.5分钟.15分钟内平均进程数量 2.查看用户 w :: ...
- Java的浮点数
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/5160771. ...