網頁

2021/1/14

Java 字串UTF-8 BIG5編碼轉換 String UTF-8 BIG5 character encoding conversion

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


沒有留言:

張貼留言