Java 完美判断中文字符的方法】的更多相关文章

Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比如:,.等等是不能识别的. 以下是比较完善的判断方法:CharUtil.java import java.util.regex.Pattern; public class CharUtil { public static void main(String[] args) {         Stri…
Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比如:,.等等是不能识别的. 以下是比较完善的判断方法:CharUtil.java http://www.micmiu.com/lang/java/java-check-chinese/ import java.util.regex.Pattern; public class CharUtil { p…
准备: 2.1.环境 MySQL mysql> SHOW VARIABLES LIKE "%version%"; +-------------------------+------------------------------+ | Variable_name | Value | +-------------------------+------------------------------+ | | | version_comment | MySQL Community S…
package com.jsoft.test; import java.util.regex.Pattern; /** * 判断中文字符 * * @author jim * @date 2017-12-22 */ public class ChineseHelper { public static void main(String[] args) { // 纯英文 String s1 = "Hello,Tom.!@#$%^&*()_+-={}|[];':\"?"; /…
package com.cmc.util; import java.util.regex.Pattern; public class CharUtil { public static void main(String[] args) { String[] strArr = new String[] { "www.micmiu.com", "!@#$%^&*()_+{}[]|\"'?/:;<>,.", "!¥……()——::“”…
Java判断一个字符串中是否有中文字符有两种方法,但是原理都一样,就是通过Unicode编码来判断,因为中文在Unicode中的编码区间为:0x4e00--0x9fa5 第一种: String chineseStr = "中华人民公社abc"; char[] charArray = chineseStr.toCharArray(); for(int i=0;i<charArray.length;i++){ if ((charArray[i] >= 0x4e00)&&…
在unicode 字符串中,中文的范围是在4E00..9FFF:CJK Unified Ideographs.通过对字符的unicode编码进行判断来确定字符是否为中文.protected bool  IsChineseLetter(string input,int index){int code = 0;int chfrom = Convert.ToInt32("4e00", 16);    //范围(0x4e00-0x9fff)转换成int(chfrom-chend)       …
在C++中, 可以用isdigit()判断一个字符是否是数字,可以用isalpha()判断一个字符是否是字母,还有很多,都在<cctype>头文件中 而类似的方法在JAVA中,则主要是Character类的静态方法: Character.isDigit( char ch ) // 判断ch是否是数字字符,如'1','2‘,是返回true.否则返回false Character.isLetter( char ch ) // 判断ch是否是字母字符,如'a','b‘,是返回true.否则返回fal…
下面这个小工具包含了 判断unicode是否是汉字,数字,英文,或者其他字符. 全角符号转半角符号. unicode字符串归一化等工作. 还有一个能处理多音字的汉字转拼音的程序,还在整理中. #!/usr/bin/env python # -*- coding:GBK -*- """汉字处理的工具: 判断unicode是否是汉字,数字,英文,或者其他字符. 全角符号转半角符号.""" __author__="internetsweepe…
如果Cookie中的Value 中有中文字符出现,在加入Cookie的时候,会出现下面的错误: java.lang.IllegalArgumentException: Control character in cookie value or attribute. 当我们设定Cookie的Value的值得时候: cookie.setValue(ret); 改为如下方式尽心编码! cookie.setValue(URLEncoder.encode(ret, "utf-8"));使用指定的编…
一.Servlet输出乱码 1. 用servlet.getOutStream字节流输出中文,假设要输出的是String str ="钓鱼岛是中国的,无耻才是日本的". 1.1 若是本地服务器与本地客户端这种就不用说了,直接可以out.write(str.getBytes())可以输出没有问题.因为服务器中用str.getBytes()是采用默认本地的编码,比如GBK.而浏览器也解析时也用本地默认编码,两者是统一的,所以没有问题. 1.1 若服务器输出时用了, out.write(str…
在网上看到java居然支持中文变量名.方法.这里我只试了变量名和方法,类名这些没有试....真是给力 package com.gxf.fun; public class TestForChinese { private String 字符串 = "字符串"; public void 输出方法(){ System.out.println("这是输出方法!"); } public static void main(String[] args) { TestForChin…
package learnExercise; public class RandomCharacter { public static char getRandomCharacter(char ch1,char ch2){ return (char)(ch1+Math.random()*(ch2-ch1+1));//因为random<1.0,所以需要+1,才能取到ch2 } public static char getRandomLowerCaseLetter(){ return getRand…
在网上找了好多例子,还是这个靠谱点: UTF-8匹配: 在javascript中,要判断字符串是中文是很简单的.比如: var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("该字符串全部是中文"); } else{ alert("该字符串不全部是中文"); } php中,是用\x表示十六进制数据的.于是,变换成如下的代码: $str = "php编程";…
package com.yin.test; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; /** * @author User * */ public class MyTestClass { public static void main(String[] args) { String str = "测试字符转换 a beautiful gi…
1.写入的时候: public boolean addCookie( HttpServletRequest req, HttpServletResponse resp){ //创建 Cookie cookie1 = null; try{ cookie1 = new Cookie("nickname",URLEncoder.encode(name,"utf-8")); cookie1.setPath("/"); cookie1.setMaxAge(…
Servlet 中的中文字符 来自 URL 参数部分的中文字符 Tomcat 默认接收数据的编码是 ISO-8859-1.所以当请求 URL 的参数部分含有中文字符,需要转换字符的编码. Enumeration<String> paramNames = req.getParameterNames(); while (paramNames.hasMoreElements()) { String paramName = (String) paramNames.nextElement(); Stri…
java中要匹配中文的正则表达式可以有两种写法:一是使用unicode中文码:二是直接使用汉字字符: 例: (1)String str = "晴"; String regexStr = "[\u4E00-\u9FA5]"; str.regex(regexStr); (2)String str = "晴"; String regexStr = "[一-龥]"; str.regex(regexStr); 说明:(1)现在网上大多数…
java大数判断相等: 1.equals()方法2.compareTo()方法区别:2.00与2.0 equals()方法判断不等,compareTo()方法判断相等,科学的说法可以看java api文档可以通过equals()方法加striptrailingzeros()方法等效于compareTo()方法. import java.util.*; import java.math.*; public class Main { public static void main(String[]…
以前写过一篇贴子是写中文在unicode中的编码范围 unicode中文范围,但写的不是很详细,今天再次研究了下unicode,并给出详细的unicode取值范围. 本次研究的unicode对象是unicode 5.2.0版本.现在最新的是6.0版 对于这次研究的unicode把编码分为以下几个平面(英文中是plane,可以认为就是不同的区位) Unicode可以逻辑分为17平面(Plane),每个平面拥有65536( = 216)个代码点,虽然目前只有少数平面被使用. 平面0 (0000–FF…
Java判断一个字符串str中中文的个数,经过总结,有以下几种方法(全部经过验证),可根据其原理判断在何种情况下使用哪个方法: 1. char[] c = str.toCharArray(); for(int i = 0; i < c.length; i ++) { String len = Integer.toBinaryString(c[i]); if(len.length() > 8) count ++; } 根据一个中文占两个字节,假如一个字符的字节数大于8,则判断为中文. 2 . S…
Java Character 实现Unicode字符集介绍  CJK中文字符和中文标点判断 主要内容: 1. Java Character类介绍: 2. Unicode 简介及 UnicodeBlock 与 UnicodeScript区别和联系 3. 如何判断汉字及中文标点符号 做中文信息处理,经常会遇到如何判断一个字是否是中文,或者是否是中文的标点符号等. 在Java中,主要使用 Character类处理字符有关功能,而JDK 1.7中Character是按照Unicode 6.0版本实现的,…
在工作期间,将写内容过程经常用到的一些内容段做个记录,下面内容是关于Java判断一个字符是否是数字的几种方法的内容,希望能对码农们有好处. public class Test{ public static void main(String[] args) { char[] ch = { 'a', '1', 'b', '2', 'c', '3', 'd', '4', }; System.out.println(ch[0] + ": " + isDigitA(ch[0])); System…
1.方法一 char c = 'a'; if((c >= 0x4e00)&&(c <= 0x9fbb)) { System.out.println("是中文"); } 上面的方法很简单,但只能判断是否是中文,但不能判断是否是中文标点. 下面的方法很全面,中文字符标点都可以判断 2.方法二 private static final boolean isChinese(char c) { Character.UnicodeBlock ub = Character…
虽然计算机对英文字符的支持非常不错,我们也恨不得写的程序只会处理英文的数据,但是昨为中国人,无可避免地要处理一些中文字符.当很简单的一件事情,遇到了中文,一切就不同了!本文就会讲述实际生产环境中遇到的四个中文迷题,欢迎大家参与补充! 1.“我”讲的其它机器听不懂? 当把一串中文字符,通过HTTP.TCP方式传递到另外一个系统时,会经常惊奇地发现,在发送前还是好好的,但是收到后却全坏了!怎么办?下面提供几种情况,对症下药: (1)发送时使用的GET请求 要特别注意传递参数时,不要直接使用中文(如?…
方法一: (将notepad编辑器的编码方式改为ANSI后再进行程序代码的编译,将之前乱码的汉字删除重新输入正常的汉字) 1.notepad编辑器默认编码方式为UTF-8时,CMD里面执行javac Teacher.java,代码里中文打印会出现乱码 2.此时调整notepad的编码方式为ANSI,看到原来写的汉字代码出现乱码 3.在notepad编码方式为ANSI时将乱码删除,修改为正常的中文汉字 4.再次在CMD里执行javac Teacher.java时发现将不再报错 分析: 1.出现这样…
1.向前台传递数据;2.向后台传递数据;3.ajax post 提交数据到服务端时中文乱码解决方法;4.数组类型参数传递; 1.向前台传递数据:1.1 字符串数据传递:  这种方式只是单一的向前台传递字符串(比如传递ajax 请求某个数据的结果),通过 response 实现; 1.1.1 Action 类: public String getResult(){ HttpServletResponse response=ServletActionContext.getResponse(); re…
php中的urldecode,base64_encode函数然后再结合自己写的替换函数来进行安全传递url中文字符,特殊危险字符. 需要在url中传递中文字符或是其它的html等特殊字符,似乎总会有各种乱,不同的浏览器对他们的编码又不一样, 对于中文,一般的做法是: 把这些文本字符串传给url之前,先进行urlencode($text)一下: 但是对于一些很“危险”的字符,比如说html字符,甚至是SQL注入相关的字符,如果很明显的传给系统,出于安全考虑,系统一般都会把它们过滤掉的. 现在,我们…
下面这个小工具包含了判断unicode是否是汉字.数字.英文或者其他字符,全角符号转半角符号,unicode字符串归一化等工作. #!/usr/bin/env python # -*- coding:GBK -*- """汉字处理的工具: 判断unicode是否是汉字,数字,英文,或者其他字符. 全角符号转半角符号.""" __author__="internetsweeper <zhengbin0713@gmail.com>…
Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节:采用GB2312或GBK编码方式时,一个中文字符占2个字节:而采用UTF-8编码方式时,一个中文字符会占3个字节.我们可以通过String类的getBytes(String charsetName)方法来获取到字符串以指定编码方式编码后所得到的字节数组,然后字节数组的长度就是该字符串在指定编码方式下所占的字节数. [测试示例] public clas…