Eclipse中編寫程序,String.getBytes()函數的默認編碼格式一般是IDE中工程的Properties設定值。
要在運行時進行修改getBytes()的默認編碼格式,一般使用-Dfile.encoding的運行參數。
代碼樣例如下所示:
- void Test02() {
- D(System.getProperty("file.encoding"));
- try {
- String str = "測試";
-
- byte[] bytes = str.getBytes();
- printBytes(bytes);
-
- bytes = str.getBytes("utf-8");
- printBytes(bytes);
- bytes = str.getBytes("gbk");
- printBytes(bytes);
- bytes = str.getBytes("gb18030");
- printBytes(bytes);
-
- System.setProperty("file.encoding", "GBK");
- D("/n"+System.getProperty("file.encoding"));
-
- bytes = str.getBytes();
- printBytes(bytes);
-
- bytes = str.getBytes("utf-8");
- printBytes(bytes);
- bytes = str.getBytes("gbk");
- printBytes(bytes);
- bytes = str.getBytes("gb18030");
- printBytes(bytes);
-
-
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- }
-
- void printBytes(byte[] bytes) {
- int i=0;
- for (byte b : bytes) {
- if (i++%10 == 0) D("");
- System.out.print("/t" + (0x00ff & b));
- }
- }