unicode文件格式gb3212java判断_java判断gb2312编码⽂件中的汉字问题java判断Unicode编码形式的⽂件中的汉字的例⼦很多,但是判断gb2312编码形式的⽂件中的汉字的例⼦很少,从⽹上来⼀个共享⼀下,试验过,很好⽤。⽬的是判断gb2312编码形式的⽂件中的汉字,这⾥指的汉字不包括中⽂标点符号等01-09区中的特殊符号等。
public static boolean isCS(String str){
if(null==str) return false;
im()== " ") return false;
byte[] Bytes();
if(bytes.length <2)
return false;
byte aa=(byte)0xB0;
byte bb=(byte)0xF7;
byte cc=(byte)0xA1;
byte dd=(byte)0xFE;
if(bytes[0] >=aa && bytes[0] <=bb){ //⾼字节
if(bytes[1]
dd){ //低字节
return false;
}
return true;
}
return false;
}
给参数str赋值:str="、啊任何⼈决。〔⽐照〕年制定"
输出结果为:
、false
啊true
任true
何true
⼈true
决true
。false
〔false
⽐true
照true
〕false
年true
制true
定true
结果分析:该程序实现了判断中⽂字,但是对于中⽂标的符号等都进⾏了过滤。
//String UnicodeChineseChar =
"[\u4e00-\u9fa5]";
//String GB2312ChineseChar =
"[\xb0-\xf7][\xa0-\xfe]"
[\xb0-\xf7]|[\xa0-\xfe]
gb2312⼀⼆级汉字区“⾼位字节”的范围是0xB0-0xF7,“低位字节”的范围是0xA1-0xFE
GB2312补充知识:
GB 2312中对所收汉字进⾏了“分区”处理,每区含有94个汉字/符号。这种表⽰⽅式也称为区位码。
01-09区为特殊符号。
16-55区为⼀级汉字,按拼⾳排序。
56-87区为⼆级汉字,按部⾸/笔画排序。
10-15区及88-94区则未有编码。
“⾼位字节”使⽤了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使⽤了0xA1-0xFE(把01-94加上
0xA0)。
由于⼀级汉字从16区起始,汉字区的“⾼位字节”的范围是0xB0-0xF7,“低位字节”的范围是0xA1-0xFE,占⽤的码位是72*94=6768。其中有5个空位是D7FA-D7FE。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论