Linux中的WINDOWS-31J等效编码

时间:2015-11-12 05:05:42

标签: java

我想知道以下代码是否适用于Linux。

InputStreamReader isr = new InputStreamReader(file.getInputStream(),"WINDOWS-31J");

如果不善意指出我可以使用WINDOWS-31J相当于Linux字符编码的方向。

提前感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

是的,windows-31j / MS932附带了适用于Solaris,Linux和Windows的Oracle版Java 7。有关完整列表,请参阅Supported Encodings

答案 1 :(得分:1)

根据Oracle文档,它受到支持:

https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html

Canonical Name for java.nio API  |  Canonical Name for java.io API and java.lang API | Description 
windows-31j                         MS932                                              Windows Japanese

以便您将其调用为:

InputStreamReader isr = new InputStreamReader(file.getInputStream(),"MS932");

它提到了charset在扩展集中的定义:lib/charsets.jar。您可能必须在项目中包含它。它位于jre \ lib \ charsets.jar下的JDK目录中。