using APT.Infrastructure.Core; using System; using System.Text; namespace APT.Infrastructure.EF { public static class AcronymHelper { // private static Encoding gb2312 = Encoding.GetEncoding("GB2312"); /// /// 汉字转全拼 /// /// /// public static string ConvertToAllSpell(string strChinese) { try { if (strChinese.Length != 0) { StringBuilder fullSpell = new StringBuilder(); for (int i = 0; i < strChinese.Length; i++) { var chr = strChinese[i]; fullSpell.Append(GetSpell(chr)); } return fullSpell.ToString(); } } catch (Exception e) { LoggerManager.GetLogger().Info("全拼转化出错!" + e.Message); } return string.Empty; } /// /// 汉字转首字母 /// /// /// public static string ConvertToFirstSpell(string strChinese) { try { if (strChinese.Length != 0) { StringBuilder fullSpell = new StringBuilder(); for (int i = 0; i < strChinese.Length; i++) { var chr = strChinese[i]; fullSpell.Append(GetSpell(chr)[0]); } return fullSpell.ToString(); } } catch (Exception e) { LoggerManager.GetLogger().Info("首字母转化出错!" + e.Message); } return string.Empty; } private static string GetSpell(char chr) { //var coverchr = NPinyin.Pinyin.GetPinyin(chr); //bool isChineses = ChineseChar.IsValidChar(coverchr[0]); //if (isChineses) //{ // ChineseChar chineseChar = new ChineseChar(coverchr[0]); // foreach (string value in chineseChar.Pinyins) // { // if (!string.IsNullOrEmpty(value)) // { // return value.Remove(value.Length - 1, 1); // } // } //} //return coverchr; return ""; } /// /// 数字转换成字母(1-26) /// /// /// public static string NumToChar(int number) { number = number + 64; if (65 <= number && 90 >= number) { System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding(); byte[] btNumber = new byte[] { (byte)number }; return asciiEncoding.GetString(btNumber).ToLower(); } return "数字不在转换范围内"; } /// /// 字母转换成数字(1-26) /// /// /// public static string CharToNum(char chr) { byte[] array = new byte[1]; array = System.Text.Encoding.ASCII.GetBytes(chr.ToString().ToUpper()); int asciicode = (short)(array[0]) - 64; return Convert.ToString(asciicode); } } }