. net中的编码问题

本文关键字:问题 编码 net | 更新日期: 2023-09-27 18:02:39

我需要对日文字符进行编码和解码。我在JAVA中尝试过,它在"Cp939"编码下工作得很好,但我无法在。net中找到该编码。932编码不能编码所有的字符,所以我需要找到一种在。net中实现939编码的方法。

Java Code:

convStr = new String(str8859_1.getBytes("Cp037"), "Cp939");

。净:

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);

. net中的编码问题

编码的字节是在编码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);

这是一个错误还是只是你怎么输入的?

bytesConverted = Encoding.Convert(Encoding.GetEncoding(37), 
    Encoding.GetEncoding(932), bytesConverted);
应:

bytesConverted = Encoding.Convert(Encoding.GetEncoding(37), 
    Encoding.GetEncoding(939), bytesConverted);

肯定吗?