转换字符串中汉字为其拼音缩写(C#)
//将指定字符串中的汉字转换为拼音缩写,其中非汉字保留为原字符。
public string GetPinYin( string text)
{
char pinyin;
byte[] array;
System.Text.StringBuilder sb = new System.Text.StringBuilder(text.Length);
foreach(char c in text)
{
pinyin = c;
array = System.Text.Encoding.Default.GetBytes(new char[]{c});
if(array.Length == 2)
{
int i = array[0] * 0x100 + array[1];
if(i < 0xB0A1) pinyin = c; else
if(i < 0xB0C5) pinyin = 'a'; else
if(i < 0xB2C1) pinyin = 'b'; else
if(i < 0xB4EE) pinyin = 'c'; else
if(i < 0xB6EA) pinyin = 'd'; else
if(i < 0xB7A2) pinyin = 'e'; else
if(i < 0xB8C1) pinyin = 'f'; else
if(i < 0xB9FE) pinyin = 'g'; else
if(i < 0xBBF7) pinyin = 'h'; else
if(i < 0xBFA6) pinyin = 'g'; else
if(i < 0xC0AC) pinyin = 'k'; else
if(i < 0xC2E8) pinyin = 'l'; else
if(i < 0xC4C3) pinyin = 'm'; else
if(i < 0xC5B6) pinyin = 'n'; else
if(i < 0xC5BE) pinyin = 'o'; else
if(i < 0xC6DA) pinyin = 'p'; else
if(i < 0xC8BB) pinyin = 'q'; else
if(i < 0xC8F6) pinyin = 'r'; else
if(i < 0xCBFA) pinyin = 's'; else
if(i < 0xCDDA) pinyin = 't'; else
if(i < 0xCEF4) pinyin = 'w'; else
if(i < 0xD1B9) pinyin = 'x'; else
if(i < 0xD4D1) pinyin = 'y'; else
if(i < 0xD7FA) pinyin = 'z';
}
sb.Append(pinyin);
}
return sb.ToString();
}
附注:本文代码可能只适用于gb2312或兼容gb2312的中文编码标准。
参考:《信息技术信息交换用汉字编码字符集基本集的扩充》
转换字符串中汉字为其拼音缩写(C#)相关推荐
- java字符串确定汉字_java中判断字符串中汉字的个数
使用方法3与方法4时需要注意一些问题,代码中会有注释. 代码如下: package 包名; import java.util.ArrayList; import java.util.regex.Mat ...
- 求字符串中汉字的个数
一.分解字符串法 首先创建这个函数: /*将字符串分解*/ create function [dbo].[SplitChar] ( @str_One Nvarchar(100) ) returns @ ...
- 经典:统计字符串中汉字,英文,数字,特殊符号个数
经典:统计字符串中汉字,英文,数字,特殊符号个数 package wzs.arithmetics;/*** 分别统计出其中字符串中汉字,英文字母,数字,其他字符数量* @author wWX15478 ...
- java 统计汉字个数_Java简单统计字符串中汉字,英文字母及数字数量的方法
本文实例讲述了java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包 ...
- java 汉字个数_java语言中如何获取字符串中汉字的个数
java语言中如何获取字符串中汉字的个数? [实例描述] 字符串中可以包含数字,字母.汉字或者其他字符.使用Character 类的isDigit()方法可以判断字符中的某个字符是否为数字,使用Cha ...
- java识别汉字个数_统计字符串中汉字的个数
字符串可以包括数字.字母.汉字或者其他字符.使用Charater类的isDigit()方法可以判断字符串中的某个字符是否为数字, 使用Character类的isLetter()方法可以判断字符串中的某 ...
- go 语言之“查找一个字符串中汉字个数”
题目:查找"hellodudu嘟嘟的老父亲"中汉字个数,并且输出对应位置 golang中有一个unicode包,这个包下有unicode.Is这个方法.这个方法可以用来判断汉字字符 ...
- java 字符串 数字个数_Java简单统计字符串中汉字,英文字母及数字数量的方法...
本文实例讲述了Java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包 ...
- PHP:计算字符串中汉字的个数、正确计算字符串的长度
也许很多phper不知道,PHP内置的字符串长度函数strlen()无法正确处理中文字符串,它得到的只是字符串所占的字节数.对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UT ...
最新文章
- [微信小程序]时间戳转日期
- PowerDesigner里怎样查找特定的表
- 数学分析高等代数考研试题荟萃[更新至2017年10月1日]
- (0034) iOS 开发之UIView动画(过渡效果)
- dsp指令ixh_第一章 DSP入门教程(非常经典).pdf
- Nadron的Sping配置文件学习
- jQuery入口函数的四种写法【1分钟掌握】
- html 实现表格控制器,HTML 表格类 - CodeIgniter 2.x 用户手册
- 给图片加一层半透明_PPT小技巧——图片的处理
- Elasticsearch学习系列-ElasticSearch 核心概念
- android 工程搭建,Android ApiDemo示例工程的创建
- 发布了!2020 年 AI 人才发展报告,最高补助 1000 万!
- 编译OpenJDK8:specified bound depends on the length of the source argument
- java格斗代码_java学习2打架代码编写
- Permute 3 for mac(万能音视频转换器)
- PostgreSQL新建数据字段时的怪异现象
- 重庆计算机应用高级工程师,重庆高级园林工程师职称评审条件
- android自动调节背光,android自动调节背光
- 院士专家热议如何拥抱“东数西算”,第二届中国IDC行业Discovery大会顺利召开
- gif在线转换html,在线mp4转换gif
热门文章
- html 页面自适应窗口大小,JavaScript实现自适应窗口大小的网页
- python给用户输出提示_python3.4控制用户输入与输出的方法
- 卷积神经网络基础:(6)卷积神经网络原理
- OpenCV 贝叶斯分类器示例
- nio的优势_NIO研究所 | 最有AI的EC6故事
- python3版本代码大全_python3中的
- 实现2D全景图的中心视野变换
- Learn OpenGL (九):基础光照
- 1分钟入门angular动画效果animations,敲简单滴哟~~☺
- 使用Nginx-rtmp-module搭建hls直播