由于 字符串存储过程中,用户输入的不确定性,导致解析时可能出现问题,所以采用字符串转化16进制的做法。
代码如下:
/// <summary> /// 字符串转16进制 /// </summary> /// <param name="input">要转格式的字符串</param> /// <returns>转化为16进制的字符串</returns> private string ToSixteen(string input) { char[] values = input.ToCharArray(); string end = string.Empty; foreach (char letter in values) { int value = Convert.ToInt32(letter); string hexoutput = string.Format("{0:X}", value); //0 表示占位符 x或X表示十六进制 end += hexoutput + "_"; } end = end.Remove(end.Length - 1); return end; }
/// <summary> /// 16进制转回字符串 /// </summary> /// <param name="input">16进制</param> /// <returns>转回的字符串</returns> private string ToMyString(string input) { string[] hexvaluesplit = input.Split('_'); string end = string.Empty; foreach (string hex in hexvaluesplit) { int value = Convert.ToInt32(hex, 16); string stringvalue = char.ConvertFromUtf32(value); char charValue = (char)value; end += charValue; } return end; }
文章来源: 字符串与16进制的相互转化