- 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 - 格式化日期
- 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 - 讨论
Java 国际化 - Unicode 字符串转换
在 Java 中,文本在内部以 Unicode 格式存储。如果输入/输出使用不同的格式,则需要进行转换。
转换
以下示例将展示如何将 Unicode 字符串转换为 UTF8 字节数组,以及如何将 UTF8 字节数组转换为 Unicode 字节数组。
示例
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.text.ParseException;
public class I18NTester {
public static void main(String[] args) throws ParseException, UnsupportedEncodingException {
String unicodeString = "\u00C6\u00D8\u00C5" ;
//convert Unicode to UTF8 format
byte[] utf8Bytes = unicodeString.getBytes(Charset.forName("UTF-8"));
printBytes(utf8Bytes, "UTF 8 Bytes");
//convert UTF8 format to Unicode
String converted = new String(utf8Bytes, "UTF8");
byte[] unicodeBytes = converted.getBytes();
printBytes(unicodeBytes, "Unicode Bytes");
}
public static void printBytes(byte[] array, String name) {
for (int k = 0; k < array.length; k++) {
System.out.println(name + "[" + k + "] = " + array[k]);
}
}
}
输出
它将打印以下结果。
UTF 8 Bytes[0] = -61 UTF 8 Bytes[1] = -122 UTF 8 Bytes[2] = -61 UTF 8 Bytes[3] = -104 UTF 8 Bytes[4] = -61 UTF 8 Bytes[5] = -123 Unicode Bytes[0] = -58 Unicode Bytes[1] = -40 Unicode Bytes[2] = -59
广告