如何在SJIS文件中阅读本文①②?

ted*_*ted 1 java csv unicode

如何获得这些角色??

我正在使用Java 1.6来读取包含这些字符的csv文件(在SJIS编码中),我只??在运行程序时才回复它.

public class Example {
    public static void main(String[] args) throws IOException {
        StringBuffer buffer = new StringBuffer();
        FileInputStream fis = new FileInputStream(new File("examples/input.csv"));
        InputStreamReader isr = new InputStreamReader(fis, "SJIS");
        Reader in = new BufferedReader(isr);

        int ch;
        while ((ch = in.read()) > -1) {
            buffer.append((char)ch);
        }
        in.close();

        System.out.println(buffer.toString());
    }
}
Run Code Online (Sandbox Code Playgroud)

输入

内容input.csv:

"??"
?????
Run Code Online (Sandbox Code Playgroud)

实际产出

 ?@?A???
Run Code Online (Sandbox Code Playgroud)

预期产出

"?????"
Run Code Online (Sandbox Code Playgroud)

bob*_*nce 5

Shift-JIS字符集不包含字符①和②.

您的文件不会保存在标准的Shift-JIS中,这是您在Java名称下获得的编码SJIS.实际上,它的Windows 代码页932,按住Shift JIS的Microsoft特定的扩展,它包括①②.您可以使用名称在Java中获取此编码windows-932.