Java學習總結:45(字符編碼)

字符編碼

在實際工作中最常見的4種編碼如下:
GBK、GB2312:中文的國標編碼,其中GBK包含簡體中文與繁體中文兩種,而GB2312只包含簡體中文;
ISO8859-1:是國際編碼,可以描述任何文字信息(中文需要轉碼);
UNICODE:是十六進制編碼,但是在傳遞字符信息時會造成傳輸的數據較大;
UTF編碼(Unicode Transformation Format):是一種UNICODE的可變長度編碼,常見的編碼爲UTF-8編碼。

例:取得當前系統中的環境屬性中的文件編碼

package Project.Study.CharacterEncoding;

public class Test1 {
    public static void main(String[]args){
        System.getProperties().list(System.out);//列出全部系統屬性
    }
}
//結果:
//file.encoding=UTF-8
//(其他無關輸出結果省略)

由上程序我們可以發現,默認的編碼是UTF-8,所以當程序向文件中輸出信息時,文件就會使用UTF-8編碼,而文件的內容也應該是UTF-8編碼,此處如果強行修改爲其他編碼,就會出現亂碼。

例:程序出現亂碼

package Project.Study.CharacterEncoding;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class Test2 {
    public static void main(String[]args)throws Exception{
        File file=new File("D:"+File.separator+"Test"+File.separator+"test.txt");
        OutputStream outputStream=new FileOutputStream(file);
        outputStream.write("輸出結果:Hello World".getBytes("ISO8859-1"));//強制改變文字的編碼,此操作可以通過String類的getBytes()方法實現
        outputStream.close();
    }
}

結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章