C# ASCII码与字符串互转
/// <summary> /// 字符串转ASCII码 /// </summary> /// <param name="str"></param> /// <returns>16进制,以空格分隔</returns> public static string Text2Ascii(string str) { byte[] textbuf = Encoding.Default.GetBytes(str); string textAscii = string.Empty;//用来存储转换过后的ASCII码 for (int i = 0; i < textbuf.Length; i++) { if (!string.IsNullOrEmpty(textAscii)) textAscii += " "; textAscii += textbuf[i].ToString("X"); } return textAscii; } /// <summary> /// ASCII码转字符串 /// </summary> /// <param name="asciiCode">16进制,以空格分隔</param> /// <returns></returns> public static string Ascii2Text(string asciiCode) { bool isKong = asciiCode.Contains(" "); int len = isKong ? asciiCode.Length / 3 + 1 : asciiCode.Length / 2; string textStr = string.Empty; int k = 0; //字节移动偏移量 byte[] buffer = new byte[len]; //存储变量的字节 for (int i = 0; i < len; i++) { //每两位合并成为一个字节 buffer[i] = byte.Parse(asciiCode.Substring(k, 2), System.Globalization.NumberStyles.HexNumber); k = isKong ? k + 3 : k + 2; } //将字节转化成汉字 textStr = Encoding.Default.GetString(buffer); return textStr; }
有些事情,没经历过不知道原理,没失败过不明白奥妙,没痛苦过不了解真谛。临渊羡鱼,不如退而结网!

浙公网安备 33010602011771号