讀取一個第三方的接口,返回的字符串在頁面顯示時老是提示:
「.」(十六進制值 0x00)是無效的字符。
這種錯誤通常你們也知道是由於有特殊字符的緣由,無非就是講特殊字符替換掉,或者轉換爲當前環境能夠正常顯示的。
一、將特殊字符找出來替換掉
若是這些內容中老是那幾個特殊字符,能夠將這些字符整理出來,統一替換掉正常的字符。ide
string sourceString = "特殊字符"; string destString = sourceString.Replace("特殊字符","普通字符");
二、轉碼
對於特殊字符較多的,難以收集的能夠直接進行編碼轉換而後輸出。這個結果會形成特殊字符丟失,由於一旦編碼不識別就顯示?了。
這種狀況適用於,對特殊字符不要求顯示的情形。
例如,編碼
string ss1 = "高中?"; byte[] byteArray = System.Text.Encoding.GetEncoding("gb2312").GetBytes(ss1); var sw = ToCommonString(byteArray, System.Text.Encoding.GetEncoding("gb2312")); private static string ToCommonString(byte[] bytes, Encoding encode) { string commonString = string.Empty; if (bytes != null) { int len = bytes.Length; for (int i = 0; i < len; i++) { if (bytes[i] == 0) bytes[i] = 46; } commonString = encode.GetString(bytes); } return commonString; }