GB2312字符集是由gbk字符集所包含的字符所組成,也可以被稱為簡體中文字符集。Gbk字符集是由gb2312字符集所擴展而來,可以支持更廣泛的字符集,并加入了一些繁體字和符號。Java中可以通過"gbk"或"gb2312"編碼來支持GB2312字符集。
String str = "你好"; byte[] bytes = str.getBytes("gbk"); System.out.println(Arrays.toString(bytes)); // 輸出結果為[-60, -29, -70, -61] String newStr = new String(bytes, "gbk"); System.out.println(newStr); // 輸出結果為"你好"
UTF-8是一種變長的Unicode編碼,可以支持世界上大部分語言文字。Unicode是一個比GB2312字符集更全面的字符集,也支持其他語言如日語、韓語等等。Java中可以通過"UTF-8"編碼來支持Unicode字符集。
String str = "世界"; byte[] bytes = str.getBytes("UTF-8"); System.out.println(Arrays.toString(bytes)); // 輸出結果為[-28, -72, -83, -27, -101, -67] String newStr = new String(bytes, "UTF-8"); System.out.println(newStr); // 輸出結果為"世界"
盡管UTF-8可以支持更全面的字符集,但在某些情況下(例如需要與舊系統交互),GB2312字符集仍然是必需的。因此,在Java中需要明確指定所使用的字符集來確保正確的字符編碼。