2011-11-02 135 views
0

我嘗試在SJIS編碼文件中編碼×字符......但它不成功。 我做類似:文件(對應於×在SJIS)中,而不是0x817E編碼(932)(SJIS)中×字符的錯誤編碼...導致?字符

string strJapaneseCross = new string('\uC397',1); 

StringBuilder sb = new StringBuilder(); 
sb.AppendLine(strJapaneseCross); 

using (StreamWriter sw = new StreamWriter(Path.Combine(filesPath, "MyInfo.txt"), false, Encoding.GetEncoding(932))) 
{ 
    sw.Write(sb.ToString()); 
} 

生成的文件進行編碼很好,我有0x3F的,它代表

對於我編碼的其他日語字符,似乎沒有任何問題。我做錯了什麼?

任何幫助表示讚賞。

+1

'\ uC397'是쎗,韓語字符。 '×'是'\ u00D7'。 – Random832

回答

2

\ u轉義碼與Unicode代碼點一起使用,而不是它們的UTF-8編碼。因此,你實際上是要求轉換U + C397,這是一個完全不同的角色 - 特別是Korean,一個韓國角色。

×實際Unicode代碼點爲U + 00D7,所以你要這樣寫:

string strJapaneseCross = new string('\u00D7',1);