鍍金池/ 問(wèn)答/C++  HTML/ java 字符編碼方面的問(wèn)題,請(qǐng)賜教

java 字符編碼方面的問(wèn)題,請(qǐng)賜教

最近在學(xué)習(xí)字符編碼方面的知識(shí),得知java中的char類型使用utf-16編碼,固定2個(gè)字節(jié),整數(shù)范圍為0---65535,這個(gè)范圍,包含了世界上絕大多數(shù)國(guó)家的文字。

故而,寫(xiě)了個(gè)小程序,將所有字符寫(xiě)入一個(gè)文件中

public class FileWriteTest {
    public static void main(String[] args) {
        try {
            FileWriter fileWriter = new FileWriter("unicode.txt");
            for (int i = 0; i < 65536; i++) {
                fileWriter.write(i);
            }
            fileWriter.flush();
            FileReader fileReader = new FileReader("unicode.txt");
            int read;
            while ((read = fileReader.read()) != -1) {
                System.out.println("index=" + read + ", 對(duì)應(yīng)字符:" + (char) read);
            }
        } catch (Exception e) {// 路徑可能不存在
            e.printStackTrace();
        }
    }
}

問(wèn)題1, 為什么我用文本編輯器打開(kāi),發(fā)現(xiàn)有很多符合不顯示、顯示問(wèn)號(hào)?
如下圖
clipboard.png

問(wèn)題2: 我修改了,文件的編碼方式,使用utf-16,也不顯示字符,這是為什么?

回答
編輯回答
任她鬧

有的字符就是空白,比如回車(chē),tab,有的顯示成文號(hào),可能是你電腦上沒(méi)有這個(gè)字符集吧。

2017年7月5日 03:37