2011-11-02 100 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);