Java 字串UTF-8與BIG5編碼轉換的方式如下。
先將字串轉為位元組byte[]
在用String(byte[] bytes, Charset charset)
建構式指定編碼。
UTF-8轉BIG5
讀取編碼為UTF-8的文字檔hello_utf8.txt
內容為字串並轉為BIG5。UTF-8中文用3個位元組儲存,而BIG5中文用2個位元組儲存,所以轉換結果會是亂碼。
File file = new File("D:\\test\\hello_utf8.txt");
String content = "";
try {
content = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(content); // utf8 content
content = new String(content.getBytes(), Charset.forName("big5"));
System.out.println(content); // big5 content
BIG5轉UTF-8。
讀取編碼為BIG5的文字檔hello_big5.txt
內容為字串並轉為UTF-8。
File file = new File("D:\\test\\hello_big5.txt");
String content = "";
try {
content = FileUtils.readFileToString(file, Charset.forName("big5"));
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(content); // big5 content
content = new String(content.getBytes(), StandardCharsets.UTF_8);
System.out.println(content); // utf8 content
沒有留言:
張貼留言