首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 判断char变量是不是是中文、英数字

2012-12-24 
java 判断char变量是否是中文、英数字java采用unicode编码,char类型为2个字节,可以存放一个汉字,以下方法可

java 判断char变量是否是中文、英数字
java采用unicode编码,char类型为2个字节,可以存放一个汉字,以下方法可用来判断char变量为哪种字符。

enum CharType{     DELIMITER, //非字母截止字符,例如,.)( 等等 ( 包含U0000-U0080)     NUM, //2字节数字1234     LETTER, //gb2312中的,例如:ABC,2字节字符同时包含 1字节能表示的 basic latin and latin-1 OTHER,// 其他字符     CHINESE;//中文字}/*** 判断输入char类型变量的字符类型* @param c char类型变量* @return CharType 字符类型*/private CharType checkType(char c){         CharType ct =null;        //中文,编码区间0x4e00-0x9fbb                 if ((c >=         0x4e00)&&(c <= 0x9fbb)){ ct = CharType.CHINESE; }        //Halfwidth and Fullwidth Forms, 编码区间0xff00-0xffef         else if ( (c >= 0xff00) &&(c <= 0xffef)) { //        2字节英文字         if ((( c >= 0xff21 )&&( c <= 0xff3a)) || (( c >= 0xff41 )&&( c         <= 0xff5a))){ ct = CharType.LETTER; }                //2字节数字                         else if (( c >=                 0xff10 )&&( c <= 0xff19)  ){ ct = CharType.NUM; }                //其他字符,可以认为是标点符号                 else ct = CharType.DELIMITER; }        //basic latin,编码区间 0000-007f                 else if ( (c         >= 0x0021) &&(c <= 0x007e)){ //1字节数字 if (( c >= 0x0030 )&&(         c <= 0x0039)  ){ ct = CharType.NUM; } //1字节字符 else if ((( c         >= 0x0041 )&&( c <= 0x005a)) || (( c >= 0x0061 )&&( c <=         0x007a)))        { ct = CharType.LETTER; }         //其他字符,可以认为是标点符号 else ct = CharType.DELIMITER; }        //latin-1,编码区间0080-00ff                 else if ( (c >=         0x00a1) &&(c <= 0x00ff)){ if (( c >= 0x00c0 )&&( c <= 0x00ff)){         ct = CharType.LETTER; } else ct = CharType.DELIMITER; } else ct         = CharType.OTHER;        return ct;}


热点排行