1: string toNCR(string rawString)
2: { 3: StringBuilder sb = new StringBuilder();
4: Encoding big5 = Encoding.GetEncoding("big5"); 5: foreach (char c in rawString)
6: { 7: //強迫轉碼成Big5,看會不會變成問號
8: string cInBig5 = big5.GetString(big5.GetBytes(new char[] {c})); 9: //原來不是問號,轉碼後變問號,判定為難字
10: if (c!='?' && cInBig5=="?")
11: sb.AppendFormat("&#{0};", Convert.ToInt32(c)); 12: else
13: sb.Append(c);
14: }
15: return sb.ToString();
16: }
有時這的確是因為我在Source Code中輸入Big5難字所引起,但更多時候卻是因為中文輸入時打錯字或選字不當引起,例如: 我就常常把"拋"輸入成"抛"。存檔時VS 2005警告檔案有難字,一臉無辜的我就知道糟了,又打錯字了,可是剛才改了幾十個地方,到底是哪一個字打錯?? 明知有錯字卻放著不改,對我來說,就像明知臉上沾著飯粒還要去約會一樣讓人不自在... 可是連哪一個字打錯都不確定,即使VS 2005有強大的Find功能,還是不知從何找起?