- 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
广告