C# 汉语生成拼音(微软官方方案)
2024-08-27 23:46:48
项目开发中用户的登录名是管理员在后台输入汉字姓名后自动生成的拼音。例如输入:张三,则登录名自动生成ZHANGSAN。
我在网上查阅了很多方法:
如:http://blog.csdn.net/nengzhong/article/details/4210039 等一些方法,但是在转换过程中,有些中文它是无法识别的。
于是,又东奔西走,终于在为微软的官方找到了最佳解决方案:
微软提供了一个Microsoft Visual Studio International Pack 类库软件包,vsintlpack1.zip
其中有一个类库:Simplified Chinese Pin-Yin Conversion Library 支持获取简体中文字符的常用属性
具体操作:
1、vsintlpack1.zip 下载地址为:
2、下载vsintlpack1.zip后,解压安装其中的CHSPinYinConv.msi,如安装到C:\Program Files\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library ,可以看到以下文件。
3、在项目中添加引用,在步骤2安装目录下添加引用ChnCharInfo.dll。
引用成功后如图:
4 、测试方法如下:
private string ConvertToPinYin(string str)
{
string PYstr = "";
foreach (char item in str.ToCharArray())
{
if (Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(item))
{
Microsoft.International.Converters.PinYinConverter.ChineseChar cc = new Microsoft.International.Converters.PinYinConverter.ChineseChar(item); //PYstr += string.Join("", cc.Pinyins.ToArray());
PYstr += cc.Pinyins[].Substring(, cc.Pinyins[].Length - );
//PYstr += cc.Pinyins[0].Substring(0, cc.Pinyins[0].Length - 1).Substring(0, 1).ToLower();
}
else
{
PYstr += item.ToString();
}
}
return PYstr;
}
最新文章
- 让 ASP.NET vNext 在 Mac OS 中飞呀飞。。。
- MyEclipse部署web项目到Tomcat出现An internal error occurred during: ";Launching on Tomcat 7.x";的问题
- NLog学习
- psql-06表:约束
- 基于netty的微服务架构
- TransactionScope 事务使用说明
- MySQL日志功能
- SQL基础学习篇--字符函数
- swift 开篇
- iOS中保证线程安全的几种方式与性能对比
- Torque2D MIT 学习笔记(27) ---- ImageFont的使用以及字体ImageAsset的工具生成
- IOS 取值控件(UIPicker)的使用方法
- ASCII与Unicode编码消息写文件浅析
- 云 MongoDB 优化让 LBS 服务性能提升十倍
- Can I use MyBatis to generate Dynamic SQL without executing it?
- Android 简单统计文本文件字符数、单词数、行数Demo
- Oracle转换函数
- Jenkins使用遇到的问题总结
- 下载并配置jdk
- Android开发 - 掌握ConstraintLayout(二)介绍
热门文章
- KindEditor 和 xss过滤
- Shiro 权限校验不通过时,区分GET和POST请求正确响应对应的方式
- Python基础学习九 数据库备份
- JQuery easyUi datagrid 中 editor 动态设置最大值最小值
- Junit Test 的时候出错java.lang.IllegalStateException: Failed to load ApplicationContext
- Sqoop 1.99.6 安装和使用
- Opencv normalize
- linux系统文件的安全与特殊权限
- Java 面试知识点汇总
- 约瑟夫问题的变种 LA3882