如何判断java中char是中文字符还是英文字符

也就是java在文件操作读取字符数据时,read方法读取字符时怎么知道读两个字节(汉字)还是读一个字节(英文字符)?另外char是两个字节,所以在存储英文字符时高位全是零吗?

Java文件流有字符流和字节流两种,分别对应char和byte类型
如果是字符流的read,一次读取两个字节,也就是一个char,需要注意的是Java采用Unicode编码,无论中文还是西文只要是char类型都是2字节。英文字符在Unicode以asc码存储,高位应该是0.使用这种方法需注意若字节为奇数则可能出错。
如果是字节流,一次性读1个字节,适用于任何场景,尤其是图片等二进制文件的读取,缺点是对文本文件识别率不高
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-16
java中使用Unicode字符,所有字符均以2个字节存储,
编码呢,前256个和ASCII 编码一致,汉字字符编码应该在20000以上
也就说英文字符还是在大写字母 65-90 ,小写字母97-122 ,
但全角的英文字符编码在65313和65338之间
存储普通英文字符时高位全是零,但全角的不是本回答被提问者和网友采纳
第2个回答  2014-02-03
so easy 
中文正则表达式
String regex = "[\\u4e00-\\u9fa5]";

JAVA中判断char是否是中文的几种方法
1、方法一char c = 'a';if((c >= 0x4e00)&&(c <= 0x9fbb)) {System.out.println("是中文");}上面的方法很简单,但只能判断是否是中文,但不能判断是否是中文标点。下面的方法很全面,中文字符标点都可以判断2、方法二private static final boolean isChinese(ch...

如何判断java中char是中文字符还是英文字符
如果是字符流的read,一次读取两个字节,也就是一个char,需要注意的是Java采用Unicode编码,无论中文还是西文只要是char类型都是2字节。英文字符在Unicode以asc码存储,高位应该是0.使用这种方法需注意若字节为奇数则可能出错。如果是字节流,一次性读1个字节,适用于任何场景,尤其是图片等二进制文件的读...

Java判断字符串是中文还是英文
一种是根据byte的长度判断,英文的字母数字好标点符号都是一个byte,且值在0-255之间 另一种是根据中文的Unicode取值范围判断,这个就是把所以的范围都包含,才能判断正确,参考unicode中文范围:示例代码:import java.util.regex.Matcher;import java.util.regex.Pattern;public class StringTest { \/\/英...

java如何区分汉字和英文
java中字符类型char是以unicode存储的 所以不管是中文字符还是英文字符 都可以通过判断char的Unicode范围 boolean isCnorEn(char c){ if((c >= 0x0391 && c <= 0xFFE5) \/\/中文字符 || (c>=0x0000 && c<=0x00FF)) \/\/英文字符 return true;return false;} ...

判断是中文字符还是英文字符
Java中判断字符串的编码有两种思路:一种是根据byte的长度判断,英文的字母数字好标点符号都是一个byte,且值在0-255之间另一种是根据中文的Unicode取值范围判断,这个就是把所以的范围都包含,才能判断正确,参考unicode中文范围:示例代码:import java.util.regex.Matcher;import java.util.regex.Pattern;...

JAVA中判断char是否是中文的几种方法
在百度上搜索 unicode 6.0 超大字符集字体支持包,里面提供 unicode 6.0 的 unicode character map 表。另外你也有一个最傻瓜式的做法,跑个循环把一个整数从 1 到 65535的 cast 成为 char 然后把它打印出来观察哪个范围之内是汉字,这样你就知道怎么判断了。不过要知道这只是汉字的一部分,冷僻字都...

java判断一个字符串是中文还是英文
\/\/ 判断一个字符是否是中文 public static boolean isChinese(char c) { return c >= 0x4E00 && c <= 0x9FA5;\/\/ 根据字节码判断 } \/\/ 判断一个字符串是否含有中文 public static boolean isChinese(String str) { if (str == null) return false;for (char c : str.toCharArray()) {...

介绍Java中表示字符的基本类型char
char 是 Java 中表示单个字符的基本类型,可用于表示英文字符或中文字符。赋值时使用单引号括起字符常量,如:char c = 'A'; char z = '马';本质上,char 是一个占用两个字节的无符号整数,对应 Unicode 编号,表示该编号对应的字符。在 Java 中,char 的赋值有多种方式,包括直接用 ASCII 码...

java如何判断一个字符是不是中文?
java如何判断一个字符是不是中文的代码是:public static boolean isChinese(char c) { return c >= 0x4E00 && c <= 0x9FA5;\/\/ 根据字节码判断 }。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、...

JAVA如何判断一个字符串的内容是哪种语言
觉得是不是可以这样,中英文区的编码范围不同,是不是可以获取每个字符的编码,用大于小于某个值来判断是中文还是英文 可参考以下程序:public class Main { \/ param args \/ public static void main(String[] args) { String str1 = "中国";String str2 = "english";char[] c1 = str1....

相似回答