package test;
import java.io.UnsupportedEncodingException;
/**
* Unicode编码中,第一个汉字“一”的编码是4e00, 最后一个汉字“龥”的编码是9fa5,汉字在这个区间是连续编码的。
* 网上有说 Unicode编码中,\u4e00到\u9fa5之间的范围,只是“中日韩统一表意文字”这个区间,但并不是全部;
* 所以本程序只考虑一般的汉字范围;
*
*/
public class ChineseCode {
public static void main(String[] args) throws UnsupportedEncodingException {
// Unicode编码中的第一个汉字 19968
System.out.println(Integer.valueOf('\u4e00'));
// Unicode编码中的最后一个汉字 40869
System.out.println(Integer.valueOf('\u9fa5'));
boolean result = true;
// 这里只输出部分汉字
for (int i = 19968; i < 20000; i++) {
// 转换成汉字
String str = String.valueOf((char) i);
//GBK编码下,汉字占两个字节
byte[] b = str.getBytes("GBK");
System.out.print(str + " " + i);
//查看一个汉字的字节数和字节值
for (int j = 0; j < b.length; j++) {
System.out.print(" " + b[j]);
if (b[j] >= 0) {
result = false;
}
}
System.out.println();
}
if (result == true) {
System.out.println("字节值全部是负数");
} else {
System.out.println("字节值不全是负数");
}
}
}
转载于:https://www.cnblogs.com/xiaozhang2014/p/5297284.html