- Java國際化教程
- Java I18N - 首頁
- Java I18N - 概述
- Java I18N - 環境設定
- Locale類示例
- Java I18N - Locale類
- Java I18N - Locale詳解
- Java I18N - 顯示語言
- ResourceBundle類示例
- Java I18N - ResourceBundle類
- NumberFormat類示例
- Java I18N - NumberFormat類
- Java I18N - 格式化貨幣
- Java I18N - 格式化百分比
- Java I18N - 設定最小/最大精度
- Java I18N - 設定舍入模式
- Java I18N - 解析數字
- DecimalFormat類示例
- Java I18N - DecimalFormat類
- Java I18N - 格式化模式
- Java I18N - 基於區域設定的DecimalFormat
- Java I18N - DecimalFormatSymbols類
- Java I18N - 數字分組
- DateFormat類示例
- Java Java - DateFormat類 (此處應為Java I18N - DateFormat類)
- Java I18N - 格式化日期
- Java I18N - 格式化時間
- Java I18N - 格式化日期和時間
- SimpleDateFormat類示例
- Java I18N - SimpleDateFormat類
- Java I18N - 格式化日期
- Java I18N - DateFormatSymbols類
- Java I18N - 日期格式模式
- 時區示例
- Java I18N - UTC
- Unicode轉換
- Java I18N - 字串轉換
- Java I18N - Reader和Writer轉換
- 相關教程
- Java教程
- JDBC教程
- Swing教程
- AWT教程
- Servlet教程
- JSP教程
- Java I18N有用資源
- Java I18N - 快速指南
- Java I18N - 有用資源
- Java I18N - 討論
Unicode字元集與讀寫器之間的轉換
Reader和Writer類是面向字元的流類。它們可以用於讀取和轉換Unicode字元。
轉換
以下示例將演示如何使用Reader和Writer類將Unicode字串轉換為UTF8位元組陣列,以及將UTF8位元組陣列轉換為Unicode位元組陣列。
示例
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import java.nio.charset.Charset;
import java.text.ParseException;
public class I18NTester {
public static void main(String[] args) throws ParseException, IOException {
String input = "This is a sample text" ;
InputStream inputStream = new ByteArrayInputStream(input.getBytes());
//get the UTF-8 data
Reader reader = new InputStreamReader(inputStream, Charset.forName("UTF-8"));
//convert UTF-8 to Unicode
int data = reader.read();
while(data != -1){
char theChar = (char) data;
System.out.print(theChar);
data = reader.read();
}
reader.close();
System.out.println();
//Convert Unicode to UTF-8 Bytes
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Writer writer = new OutputStreamWriter(outputStream, Charset.forName("UTF-8"));
writer.write(input);
writer.close();
String out = new String(outputStream.toByteArray());
System.out.println(out);
}
}
輸出
它將列印以下結果。
This is a sample text This is a sample text
廣告