C#实现汉字转换为拼音缩写的代码

using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(GetPYString("中华人民共和国"));
    }
    public string GetPYString(string str)
    {
        string tempStr = "";
        foreach (char c in str)
        {
            if ((int)c >= 33 && (int)c <= 126)
            {//字母和符号原样保留
                tempStr += c.ToString();
            }
            else
            {//累加拼音声母
                tempStr += GetPYChar(c.ToString());
            }
        }
        return tempStr;
    }
    ///
    /// 取单个字符的拼音声母
    ///
    /// 要转换的单个汉字
    /// 拼音声母
    public string GetPYChar(string c)
    {
        byte[] array = new byte[2];
        array = System.Text.Encoding.Default.GetBytes(c);
        int i = (short)(array[0] - ‘\0‘) * 256 + ((short)(array[1] - ‘\0‘));
        if (i < 0xB0A1) return "*";
        if (i < 0xB0C5) return "a";
        if (i < 0xB2C1) return "b";
        if (i < 0xB4EE) return "c";
        if (i < 0xB6EA) return "d";
        if (i < 0xB7A2) return "e";
        if (i < 0xB8C1) return "f";
        if (i < 0xB9FE) return "g";
        if (i < 0xBBF7) return "h";
        if (i < 0xBFA6) return "g";
        if (i < 0xC0AC) return "k";
        if (i < 0xC2E8) return "l";
        if (i < 0xC4C3) return "m";
        if (i < 0xC5B6) return "n";
        if (i < 0xC5BE) return "o";
        if (i < 0xC6DA) return "p";
        if (i < 0xC8BB) return "q";
        if (i < 0xC8F6) return "r";
        if (i < 0xCBFA) return "s";
        if (i < 0xCDDA) return "t";
        if (i < 0xCEF4) return "w";
        if (i < 0xD1B9) return "x";
        if (i < 0xD4D1) return "y";
        if (i < 0xD7FA) return "z";
        return "*";
    }
}

  

时间: 2024-10-29 19:11:44

C#实现汉字转换为拼音缩写的代码的相关文章

C#编程入门--将指定字符串中的汉字转换为拼音缩写,其中非汉字保留为原字符

将指定字符串中的汉字转换为拼音缩写,其中非汉字保留为原字符 #region 将指定字符串中的汉字转换为拼音缩写,其中非汉字保留为原字符 /// <summary> /// 将指定字符串中的汉字转换为拼音缩写,其中非汉字保留为原字符 /// </summary> /// <param name="text"></param> /// <returns></returns> public static string G

java汉字转换为拼音

原文:java汉字转换为拼音 代码下载地址:http://www.zuidaima.com/share/1550463275240448.htm 输入的字符串是:"这是一个中文" 运行结果: 标签: java 汉字 拼音 转化话题: 语言基础 脚本和工具

汉字转拼音缩写

/// 〈summary〉 /// 汉字转拼音缩写 /// 〈/summary〉 /// 〈param name="str"〉要转换的汉字字符串〈/param〉 /// 〈returns〉拼音缩写〈/returns〉 public string GetPYString(string str) { string tempStr = ""; foreach(char c in str) { if((int)c 〉= 33 && (int)c 〈=126)

iOS将汉字转换为拼音

将汉字转换为拼音 - (NSString *)chineseToPinyin:(NSString *)chinese withSpace:(BOOL)withSpace { CFStringRef hanzi = (__bridge CFStringRef)chinese; CFMutableStringRef string = CFStringCreateMutableCopy(NULL, 0, hanzi); CFStringTransform(string, NULL, kCFString

python:将汉字转换为拼音

找了两个库,都是基于键值的对拼音的简单查找,不支持多音字: https://github.com/cleverdeng/pinyin.py https://github.com/anjuke/pinyin4py 也可以自己写一个简单的转换器,上面的两个项目中都有汉字和拼音的对照表. http://www.oschina.net/code/snippet_862384_25415 中的代码中也有对招表. 多音字的识别,目测可以参考结巴分词的实现原理: https://github.com/fxsj

sql函数:汉字转换为拼音

sql数据库自定义一个函数把下面代码写进去 功能是得到汉字拼音首字母create function fun_getPY(@str nvarchar(4000)) returns nvarchar(4000) as begin declare @word nchar(1),@PY nvarchar(4000) set @PY='' while len(@str)>0 begin set @word=left(@str,1) --如果非汉字字符,返回原字符 set @[email protected

将汉字转换为拼音

private void txt_Chinese_TextChanged(object sender, EventArgs e) { txt_PinYIn.Text = //调用拼音类的GetABC方法得到拼音字符串 new PinYin().GetABC(txt_Chinese.Text); } using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T

PHP汉字转换为拼音字头原理

GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号.这种表示方式也称为区位码. 1)01-09区为特殊符号. 2)16-55区为一级汉字,按拼音排序. 3)56-87区为二级汉字,按部首/笔画排序. 4)10-15区及88-94区则未有编码. 在使用GB2312的程序中,通常采用EUC储存方法,以便兼容于ASCII.浏览器编码表上的“GB2312”,通常都是指“EUC-CN”表示法. 每个汉字及符号以两个字节来表示.第一个字节称为“高位字节”(也称“区字节)”,第二个字节称为

swift把汉字转换为拼音,并且截取首字母做索引用

var transformContents = CFStringCreateMutableCopy(nil, 0, "咋啊的看到回复阿斯顿发货发哦iasdifas")CFStringTransform(transformContents, nil, kCFStringTransformMandarinLatin, 0)var traStr:String = transformContents as Stringlet index = advance(traStr.startIndex,