zoukankan      html  css  js  c++  java
  • [中文取首字母]工具类

    描述

    中文转拼音的首字母,我在工作中,也遇到了问题,给大家分享一下,在中文转首字母拼音的时候,中文的编码设置为gb2312编码,如果设置其他编码容易无法读取!

    
        #region 生成拼音
        public string GetChineseSpell(string strText)
        {
          try
          {
            int len = strText.Length;
            string myStr = "";
            for (int i = 0; i < len; i++)
            {
              myStr += getSpell(strText.Substring(i, 1));
            }
            return myStr;
          }
          catch (Exception ex)
          {
            return "SDMKJT";
          }
    
        }
    
        public string getSpell(string cnChar)
        {
          byte[] arrCN = Encoding.Default.GetBytes(cnChar);
          if (arrCN.Length > 1)
          {
            int area = (short)arrCN[0];
            int pos = (short)arrCN[1];
            int code = (area << 8) + pos;
            int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481
     };
            for (int i = 0; i < 26; i++)
            {
              int max = 55290;
              if (i != 25) max = areacode[i + 1];
              if (areacode[i] <= code && code < max)
              {
                return Encoding.Default.GetString(new byte[] { (byte)(65 + i) });
              }
            }
            return "*";
          }
          else return cnChar;
        }
        #endregion
    

    如果你觉得本文对你有帮助,请点击“推荐”,谢谢。


    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    django学习笔记
    django配置setting文件
    django用mysql数据库出现的问题解决
    hadoop本地集群搭建
    生成器
    Java自动装箱的陷阱
    LeetCode 89. Gray Code
    LeetCode 476. Number Complement
    Javac编译与JIT编译
    LeetCode 462. Minimum Moves to Equal Array Elements II
  • 原文地址:https://www.cnblogs.com/2828sea/p/15107212.html
Copyright © 2011-2022 走看看