public static Charset defaultCharset()
示例:
System.out.println(“系统默认编码:” + System.getProperty(“file.encoding”));
System.out.println(“系统默认语言:” + System.getProperty(“user.language”));
System.out.println(“系统默认字符编码:” + Charset.defaultCharset());
运行结果:
系统默认编码:UTF-8
系统默认语言:zh
系统默认字符编码:UTF-8
Char字符
Char本质上是一个固定占用两个字节的无符号正整数,这个正整数对应与Unicode编号,用于表示那个Unicode编号对应的字符。
由于固定占用两个字节,char只能表示Unicode编号在65536以内的字符,而不能表示超出范围的字符。
超出范围的字符只能使用String类表示,例如汉字‘𠮷’的码点为0x20BB7
,该码点显然超出了65535,只能用String表示,复制‘𠮷’粘贴到代码中会自动转换为\uD842\uDFB7
。
示例:
char c = ‘程’;
System.out.println©;
String s = “\uD842\uDFB7”;
System.out.println(s);
运行结果:
程
𠮷
JDK支持的字符集
Map<String, Charset> map = Charset.availableCharsets();
System.out.println(“the available Charsets supported by jdk:” + map.size());
for (Map.Entry<String, Charset> entry : map.entrySet()) {
System.out.println(entry.getKey());
}
输出:
the available Charsets supported by jdk:170
Big5
Big5-HKSCS</