我需要对日文字符进行编码和解码。我尝试使用JAVA并且使用“Cp939”编码工作正常,但无法在.NET中找到该编码。 932编码不对所有字符进行编码,因此我需要找到一种在.NET中实现939编码的方法。
Java代码:
convStr = new String(str8859_1.getBytes("Cp037"), "Cp939");
.NET:
bytesConverted = Encoding.Convert(Encoding.GetEncoding(37),
Encoding.GetEncoding(932), bytesConverted);
// This result is a junk of characters and is totally different
// from the expected output 'ニツポンバ'
convStr = Encoding.GetEncoding(1252).GetString(bytesConverted);
答案 0 :(得分:2)
编码的字节在编码932中,那么为什么在将编码的字节转换为字符串时使用编码1252?
以下内容应该有效:
bytesConverted = Encoding.Convert(Encoding.GetEncoding(37),
Encoding.GetEncoding(932), bytesConverted);
// This result is a junk of characters and is totally different
// from the expected output 'ニツポンバ'
convStr = Encoding.GetEncoding(932).GetString(bytesConverted);
答案 1 :(得分:0)
这是一个错误还是您输入的方式?
bytesConverted = Encoding.Convert(Encoding.GetEncoding(37),
Encoding.GetEncoding(932), bytesConverted);
应该是:
bytesConverted = Encoding.Convert(Encoding.GetEncoding(37),
Encoding.GetEncoding(939), bytesConverted);
当然?