• [转]得到汉字拼音首字母


    // <summary> 
            /// 得到汉字拼音首字母 
            /// </summary> 
            /// <param name="chineseStr"></param> 
            /// <returns></returns> 
            public static string HZToPYSimple(string chineseStr) 
            { 
                try 
                { 
                    byte[] b = System.Text.UnicodeEncoding.Default.GetBytes(chineseStr); 
                    string res = ""; 
                    for (int i = 0; i < b.Length; ) 
                    { 
                        if (i == b.Length - 1) 
                        { 
                            if (char.IsNumber((char)b[i]) || char.IsLetter((char)b[i])) 
                                res += (char)b[i++]; 
                            else 
                            { 
                                i++; 
                                continue; 
                            } 
                        } 
                        else if (Convert.ToByte(b[i]) > 127)//汉字 
                        { 
                            string tmp = System.Text.UnicodeEncoding.Default.GetString(b, i, 2); 
                            tmp = HZToCode(tmp, "拼"); 
                            if (tmp.Length > 0) 
                                res += tmp[0]; 
                            i += 2; 
                        } 
                        else 
                        { 
                            if (char.IsNumber((char)b[i]) || char.IsLetter((char)b[i])) 
                                res += (char)b[i++]; 
                            else 
                            { 
                                i++; 
                                continue; 
                            } 
                        } 
                    } 
                    return res.ToUpper(); 
                } 
                catch (Exception ex) 
                { 
                    throw new Exception("错误:", ex); 
                } 
            }

    /// <summary> 
           /// 转换 
           /// </summary> 
           /// <param name="chineseStr"></param> 
           /// <param name="?"></param> 
           /// <returns></returns> 
           public static string HZToCode(string chineseStr,)//typeStr是指拼音还是五笔码 
           { 
               try 
               { 
                   string resultStr = ""; 
                   byte[] arrCN = Encoding.Default.GetBytes(chineseStr); 
                   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) 
                           { 
                               resultStr = Encoding.Default.GetString(new byte[] { (byte)(65 + i) }); 
                               break; 
                           } 
                       } 
                   }

                   return resultStr; 
               } 
               catch (Exception ex) 
               { 
                   throw new Exception("错误:", ex); 
               } 
           }

  • 相关阅读:
    五彩珠游戏
    repeater 的编辑功能
    客户端禁止cokice后,对session的影响.
    IIS无法运行ASP程序?
    winXP 密码 破解 重置
    winXP 密码 破解 重置
    IIS无法运行ASP程序?
    winXP 密码 破解 重置
    winXP 密码 破解 重置
    1.大批量数据操作
  • 原文地址:https://www.cnblogs.com/anduinlothar/p/2959324.html
Copyright © 2020-2023  润新知