String char等对中文的检测 建议:听说GB2312字符集内码规则如下:如果一个字节小于128,则当它为US-ASCII字符如果一个字节大于127,则当它为字符的高位,与下一个字节组成一个汉字字符。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BIG5与gb2312中的汉字符号都在u+4E00到u+9FFF之间(详见《无废话XML》--“Unicode说分明”一章)http://www.china-pub.com/computers/eMook/doc/download/wangluo/xml.htm先把String转成byte[],采用UTF-8编码方式String str =".....";byte[] b = str.getBytes("UTF-8");如果b中出现大于E4的码元(UTF-8是变长码,请参看UTF-8编码规则),表明原字串中可能有中文其实,因为u+4E00到u+9FFF之间的码未必全都是中文,例如日文、韩文也在这个区间所以,这不是个可靠的证据但如果要保证字串中全都是ASCII码就相对容易些实际应用时,也是经常碰到的问题可令:byte[] b = str.getBytes();若b.length>str.length(),表明原字串中必有非ASCII码再逐个检查b中有没有大于8F(十进制127)的码若没有,表明原字串全部由ASCII码组成 用servlet将注册提交的信息保存到服务器端userInfo.dat文件 请问有人知道怎么抓取动态网页上的内容吗? 文件操作 [求助帖]NetBeans6.8中安装Struts2插件问题 struts2 页面属性值保持不变的问题请教 java软件工程师和 java程序员有什么区别吗? 新人求助高分相送,高手帮忙 怎样把对象序列化成xml格式.以及再还原回来? 求一SQL语句 刚入职不久,现在很迷茫,求大神们帮帮忙。 如何在servlet中调用java类中的方法? 求助Apache2.0.47+tomcat5.05+jboss4+mysql4.1配置,分数不够可以再加!
(详见《无废话XML》--“Unicode说分明”一章)
http://www.china-pub.com/computers/eMook/doc/download/wangluo/xml.htm
先把String转成byte[],采用UTF-8编码方式
String str =".....";
byte[] b = str.getBytes("UTF-8");
如果b中出现大于E4的码元(UTF-8是变长码,请参看UTF-8编码规则),
表明原字串中可能有中文
其实,因为u+4E00到u+9FFF之间的码未必全都是中文,例如日文、韩文也在这个区间
所以,这不是个可靠的证据但如果要保证字串中全都是ASCII码就相对容易些
实际应用时,也是经常碰到的问题
可令:
byte[] b = str.getBytes();
若b.length>str.length(),表明原字串中必有非ASCII码
再逐个检查b中有没有大于8F(十进制127)的码
若没有,表明原字串全部由ASCII码组成