我尝试在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());
}
生成的文件编码不好,而不是文件中的0x817E(对应于SJIS中的×)我有0x3F,代表?
我编码的其他日文字符似乎没有任何问题。我做错了什么?
任何帮助表示感谢。
答案 0 :(得分:2)
\ u转义码使用Unicode代码点,而不是它们的UTF-8编码。因此,你实际上要求转换U + C397,这是一个完全不同的角色 - 特别是쎗,一个韩国角色。
×的实际Unicode代码点是U + 00D7,所以你要写:
string strJapaneseCross = new string('\u00D7',1);