当前位置: 首页 > news >正文

快速微信网站建设手机写代码的软件

快速微信网站建设,手机写代码的软件,用scala做网站,自己怎么建设一个网站Java Character 实现Unicode字符集介绍 CJK中文字符和中文标点判断主要内容#xff1a;1. Java Character类介绍#xff1b;2. Unicode 简介及 UnicodeBlock 与 UnicodeScript区别和联系3. 如何判断汉字及中文标点符号做中文信息处理#xff0c;经常会遇到如何判断一个字是…Java Character 实现Unicode字符集介绍  CJK中文字符和中文标点判断主要内容1. Java Character类介绍2. Unicode 简介及 UnicodeBlock 与 UnicodeScript区别和联系3. 如何判断汉字及中文标点符号做中文信息处理经常会遇到如何判断一个字是否是中文或者是否是中文的标点符号等。在Java中主要使用 Character类处理字符有关功能而JDK 1.7中Character是按照Unicode 6.0版本实现的所以这个要先学习下常用的 Unicode编码。Character 类中有3个静态内部类Modifier and Typehttp://http://www.cnblogs.com/zztt/admin/EditPosts.aspx?opt1www.cnblogs.com/zztt/admin/EditPosts.aspx?opt1Class and Descriptionstatic classInstances of this class represent particular subsets of the Unicode character set.static classA family of character subsets representing the character blocks in the Unicode specification.static classA family of character subsets representing the character scripts defined in the Unicode Standard Annex #24: Script Names.其中的UnicodeBlock 和 UnicodeScript类可以帮助我们判断字符类型UnicodeBlock是Unicode标准协会组织unicode码的一个基本单位实际上一个 UnicodeBlock代表一片连续的Unicode号码段UnicodeBlock之间不重叠。例如通常我们利用Unicode编码是否在 0x4E00–0x9FCC 来判断某字符是否为汉字就是因为有个UnicodeBlock 专门划分为存储汉字 (准确的说是 CJK统一汉字)这个UnicodeBlock叫做 CJK Unified Ideographs总共定义了 74,617 个汉字。当然还有其他很多UnicodeBlock例如对于汉字还有4个扩展 UnicodeBlockCJK Unified Ideographs Extension A, B, C, D 分别都扩展了一些我们平时见都没见过的汉字(如果不是专门的古籍数字化Unicode字符集中的汉字普通交流够了)Unicode中一种Script通常就是一个字符或者其他书写符号的集合代表着一种或多种writing systems (这里暂且翻译为文书类型文书类型细分可以分成不同语言)。有些Script仅支持一种文字类型有些可以支持多种例如 Latin Script 支持 supports English, French, German, Italian, Vietnamese, Latin 等等具体可见wikipediahttp://en.wikipedia.org/wiki/Scripts_in_UnicodeUnicodeBlock 与 UnicodeScript 关系所以UnicodeScript 是从语言书写规则层次对Unicode字符的分类这是用使用角度划分而UnicodeBlock是从硬的编码角度划分。1. UnicodeBlock是简单的数值范围 (其中可能有些Block中会有一些尚未分配字符的“空号”)。2. 在一个UnicodeScript中的字符可能分散在多个UnicodeBlock中3. 一个UnicodeBlock中的字符可能会被划进多个UnicodeScript中。另外需要注意的是UnicodeScript实现是在Java 7中新引入的。具体在编写程序中可以游2种办法一是使用 UnicodeBlock请见代码//使用UnicodeBlock方法判断public boolean isChineseByBlock(charc) {Character.UnicodeBlock ubCharacter.UnicodeBlock.of(c);if (ub Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS|| ub Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A|| ub Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B|| ub Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C|| ub Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D|| ub Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS|| ub Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT) {return true;}else{return false;}}或者如果使用JDK1.7那么UnicodeScript方法会更方便因为UnicodeScript.HAN 包括了上面所列的5个UnicodeBlock//使用UnicodeScript方法判断public boolean isChineseByScript(charc) {Character.UnicodeScript scCharacter.UnicodeScript.of(c);if (sc Character.UnicodeScript.HAN) {return true;}return false;}类似的扩展开去还可以判别中文标点符号。因为中文的标点符号主要存在于以下5个UnicodeBlock中U2000-General Punctuation (百分号千分号单引号双引号等)U3000-CJK Symbols and Punctuation ( 顿号句号书名号〸〹〺 等PS: 后面三个字符你知道什么意思吗 : )    )UFF00-Halfwidth and Fullwidth Forms ( 大于小于等于括号感叹号加减冒号分号等等)UFE30-CJK Compatibility Forms  (主要是给竖写方式使用的括号以及间断线﹉波浪线﹌等)UFE10-Vertical Forms (主要是一些竖着写的标点符号    等等)//根据UnicodeBlock方法判断中文标点符号public boolean isChinesePunctuation(charc) {Character.UnicodeBlock ubCharacter.UnicodeBlock.of(c);if (ub Character.UnicodeBlock.GENERAL_PUNCTUATION|| ub Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION|| ub Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS|| ub Character.UnicodeBlock.CJK_COMPATIBILITY_FORMS|| ub Character.UnicodeBlock.VERTICAL_FORMS) {return true;}else{return false;}}最后上测试代码importjava.util.regex.Pattern;/*** author: Tong* Date: 11/16/13* Time: 10:42 PM*/public classCharClassifier {public static voidmain(String[] args) {CharClassifier classifier newCharClassifier();String[] strings new String[]{Hello, 你好, 㐀㐂㐄, にほんご, 조선어,,.?!#$%^(), 。……()};for (int i 0; i strings.length; i) {String strstrings[i];System.out.println(原字符串为 str);char[] chars str.toCharArray();if (i 5) {System.out.println(使用0x4E00-0x9FCC范围判断字符是否为汉字);for (charaChar : chars) {System.out.println(aChar : (classifier.isChineseByRange(String.valueOf(aChar)) ? YES : NO));}System.out.println(使用UnicodeBlock方法判断字符是否为汉字);for (charaChar : chars) {System.out.println(aChar : (classifier.isChineseByBlock(aChar) ? YES : NO));}System.out.println(使用UnicodeScript方法判断字符是否为汉字);for (charaChar : chars) {System.out.println(aChar : (classifier.isChineseByScript(aChar) ? YES : NO));}}else{System.out.println(判断是否为中文符号);for (charaChar : chars) {System.out.println(aChar : (classifier.isChinesePunctuation(aChar) ? YES : NO));}}}}//使用UnicodeBlock方法判断public boolean isChineseByBlock(charc) {Character.UnicodeBlock ubCharacter.UnicodeBlock.of(c);if (ub Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS|| ub Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A|| ub Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B|| ub Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C|| ub Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D|| ub Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS|| ub Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT) {return true;}else{return false;}}//使用UnicodeScript方法判断public boolean isChineseByScript(charc) {Character.UnicodeScript scCharacter.UnicodeScript.of(c);if (sc Character.UnicodeScript.HAN) {return true;}return false;}//根据UnicodeBlock方法判断中文标点符号public boolean isChinesePunctuation(charc) {Character.UnicodeBlock ubCharacter.UnicodeBlock.of(c);if (ub Character.UnicodeBlock.GENERAL_PUNCTUATION|| ub Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION|| ub Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS|| ub Character.UnicodeBlock.CJK_COMPATIBILITY_FORMS|| ub Character.UnicodeBlock.VERTICAL_FORMS) {return true;}else{return false;}}//使用Unicode编码范围来判断汉字这个方法不准确,因为还有很多汉字不在这个范围之内public booleanisChineseByRange(String str) {if (str null) {return false;}Pattern pattern Pattern.compile([\\u4E00-\\u9FCC]);returnpattern.matcher(str.trim()).find();}}程序输出原字符串为Hello使用0x4E00-0x9FCC范围判断字符是否为汉字H:NOe:NOl:NOl:NOo:NO使用UnicodeBlock方法判断字符是否为汉字H:NOe:NOl:NOl:NOo:NO使用UnicodeScript方法判断字符是否为汉字H:NOe:NOl:NOl:NOo:NO原字符串为你好使用0x4E00-0x9FCC范围判断字符是否为汉字你:YES好:YES使用UnicodeBlock方法判断字符是否为汉字你:YES好:YES使用UnicodeScript方法判断字符是否为汉字你:YES好:YES原字符串为㐀㐂㐄使用0x4E00-0x9FCC范围判断字符是否为汉字㐀:NO㐂:NO㐄:NO使用UnicodeBlock方法判断字符是否为汉字㐀:YES㐂:YES㐄:YES使用UnicodeScript方法判断字符是否为汉字㐀:YES㐂:YES㐄:YES原字符串为にほんご使用0x4E00-0x9FCC范围判断字符是否为汉字に:NOほ:NOん:NOご:NO使用UnicodeBlock方法判断字符是否为汉字に:NOほ:NOん:NOご:NO使用UnicodeScript方法判断字符是否为汉字に:NOほ:NOん:NOご:NO原字符串为조선어使用0x4E00-0x9FCC范围判断字符是否为汉字조:NO선:NO어:NO使用UnicodeBlock方法判断字符是否为汉字조:NO선:NO어:NO使用UnicodeScript方法判断字符是否为汉字조:NO선:NO어:NO原字符串为,.?!#$%^()判断是否为中文符号,:NO.:NO?:NO!:NO:NO#:NO$:NO%:NO^:NO:NO(:NO):NO原字符串为。……()判断是否为中文符号:YES。:YES:YES:YES:YES:YES:YES:YES…:YES…:YES:YES(:YES):YES
http://www.zqtcl.cn/news/278278/

相关文章:

  • 吉林市网站建设促销式软文案例
  • 三门峡市建设局网站网站开发费用是否资本化
  • 建设部网站官网 施工许可杭州萧山网站开发
  • 福建省建设资格注册管理中心网站竹子建站怎么样
  • 想做一个什么样的网站网站建设功能评价指标
  • 网站建设渠道合作友情链接是免费的吗
  • wordpress如何制作网站网站建设及推广方案ppt
  • 关于建设门户网站的通知重庆刮刮卡制作
  • 网站建设和维护工作内容凡科网免费建站步骤及视频
  • 如何用c 做网站最新疫苗接种最新消息
  • 营销型网站建设报价wordpress 注册 登录界面
  • 网站编辑器哪个好黄骅网站建设价格
  • 爱站工具包官网下载国外cdn
  • 郑州便宜网站建设做网站横幅的图片多大
  • 网站建设的未来wordpress防黑客插件
  • 个人备案网站可以做支付吗做娱乐新闻的网站有哪些
  • 国家建设部网站网站导航如何做半透明
  • 长治网站设计制作网站网站是用什么软件做的
  • wordpress成长记录网站模版市场推广方案ppt
  • 外贸网站建设560wordpress 在线音乐播放器
  • 大连哪里有手机自适应网站建设维护交互式网站开发技术asp
  • 潍坊做网站多少钱个人业务网站带后台
  • 网站建设灬金手指科杰全部游戏免费(试玩)
  • 石家庄网站设计宜昌市住房和城乡建设局网站
  • 商城型企业网站的功能中山市中国建设银行网站
  • 公司做网站那个网站好网站推广seo方法
  • 赣州制作网站百度贵州icp网站备案中心
  • 阿里云域名如何做网站如何查询网站快照
  • 温州市城乡建设厅网站首页有没有做网站的多少钱
  • 网站建设实训报告建议缘震网络网站建设之f套餐