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

也就是java在文件操作读取字符数据时,read方法读取字符时怎么知道读两个字节(汉字)还是读一个字节(英文字符)?另外char是两个字节,所以在存储英文字符时高位全是零... 也就是java在文件操作读取字符数据时,read方法读取字符时怎么知道读两个字节(汉字)还是读一个字节(英文字符)?另外char是两个字节,所以在存储英文字符时高位全是零吗? 展开
 我来答
巨人战舰
2014-02-03 · TA获得超过186个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:154万
展开全部
Java文件流有字符流和字节流两种,分别对应char和byte类型
如果是字符流的read,一次读取两个字节,也就是一个char,需要注意的是Java采用Unicode编码,无论中文还是西文只要是char类型都是2字节。英文字符在Unicode以asc码存储,高位应该是0.使用这种方法需注意若字节为奇数则可能出错。
如果是字节流,一次性读1个字节,适用于任何场景,尤其是图片等二进制文件的读取,缺点是对文本文件识别率不高
artintin
推荐于2017-12-16 · TA获得超过1.2万个赞
知道大有可为答主
回答量:7508
采纳率:80%
帮助的人:2891万
展开全部
java中使用Unicode字符,所有字符均以2个字节存储,
编码呢,前256个和ASCII 编码一致,汉字字符编码应该在20000以上
也就说英文字符还是在大写字母 65-90 ,小写字母97-122 ,
但全角的英文字符编码在65313和65338之间
存储普通英文字符时高位全是零,但全角的不是
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2014-02-03 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
so easy 
中文正则表达式
String regex = "[\\u4e00-\\u9fa5]";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式