日期:2014-05-20  浏览次数:20829 次

如何判断几个字符是中文或是E文或是日文或是其他国家的非中文?
如题。
如果几个字符中又含中文又含E文又含其他国家的语言,怎么判断?
想做一个根据名字得到名字首字母的程序,高手帮帮忙。。。



------解决方案--------------------
首先你要知道是什么编码,然后根据那个编码的标准文档来根据编码值取得是什么字符
------解决方案--------------------
有个猜测编码的方法,不记得是不是Java哪里带的了。
------解决方案--------------------
用正则解决[范围],汉字有汉字的范围,日文有日文的范围.GOOGLE下,看在哪个范围内就能判断是哪种文字
------解决方案--------------------
这个判断中文的正则[\u4e00-\u9fff]
------解决方案--------------------
上面unicode的判断可以判断是否中文汉字。不过unicode中,只要字形一样,比如 "日 ",中文、日文都共用同一个

其实,楼主判断是否中文纯粹自寻烦恼,把字符集设置成unicode(utf8等),保证数据库、程序、网页等都不乱码,实在比准确区分一个句子是否全中文更方便。
------解决方案--------------------
F:\j2sdk1.4.2_07\demo\jfc\Font2DTest
字符的unicode值
------解决方案--------------------
确实够麻烦的
------解决方案--------------------
mark!
------解决方案--------------------
up
------解决方案--------------------
我也遇到过
public class Test
{
public static void main(String args[])
{
String a= "你好 ";
String b= "hello ";
System.out.println((int)a.charAt(0));
System.out.println((int)b.charAt(0));
}
}
这样就可以了 只要知道编码范围
------解决方案--------------------
0000:Basic Latin 基本拉丁语
0080:Latin-1 Supplement 拉丁语-1补遗
0100:Latin Extended-A 拉丁语扩充-A
0180:Latin Extended-B 拉丁语扩充-B
0250:IPA Extensions 国际音标
02B0:Spacing Modifier Letters
0300:Combining Diacritical Marks 组合变音符
0370:Greek and Coptic 希腊语和埃及语
0400:Cyrillic 西里尔文
0500:Cyrillic Supplement 西里尔文补遗
0530:Armenian 亚美尼亚语
0590:Hebrew 希伯来语
0600:Arabic 阿拉伯语
0700:Syriac 叙利亚语
0780:Thaana 马尔代夫语
0900:Devanagari 梵文
0980:Bengali 孟加拉语
0A00:Gurmukhi 果鲁穆奇语
0A80:Gujarati 古吉特拉语
0B00:Oriya 奥里雅语
0B80:Tamil 泰米尔语
0C00:Telugu 泰卢固语
0C80:Kannada 埃纳德语
0D00:Malayalam 马拉雅拉姆语
0D80:Sinhala 锡兰语
0E00:Thai 泰国语
0E80:Lao 老挝语
0F00:Tibetan 西藏语
1000:Myanmar 玛雅语
10A0:Georgian 格鲁吉亚语
1100:Hangul Jamo (一种特殊韩文)
1200:ethiopic 埃塞俄比亚语
13A0:Cherokee 切罗基语
1400:Unified Canadian Aboriginal Syllabic
1680:Ogham 欧甘字母
16A0:Runic 古代北欧文字
1700:Tagalog 塔加拉语
1720:Hanunoo
1740:Buhid
1760:Tagbanwa
1780:Khmer 高棉语
1800:Mongolian 蒙古语
1900:Limbu
1950:Tai Le
19E0:Khmer Symbols 孟高棉语符号
1D00:Phonetic Extensions 语音扩充
1E00:Latin Extended Additional 拉丁扩充附加
1F00:Greek Extended 希腊语扩充
2000:General Punctuation 通用标点
2070:Superscripts and Subscripts 上标和下标
20A0:Currency Symbols 货币符号
20D0:Combining Marks for Symbols
2100:Letterlike Symbols
2150:Number Forms 数字形式
2190:Arrows 箭头
2200:Mathematical Operators 数学运算符
2300:Miscellaneous Technical 零杂技术用符号
2400:Control Pictures
2440:Optical Character Recognition
2460:enclosed Alphanumerics 带圈和括号的数字与字母
2500:Box Drawing 边框
2580:Block Elements 方块
25A0:Geometric Shapes 几何形状
2600:Miscellaneous Symbols 零杂符号
2700:Dingbats 丁贝符
27D0:Miscellaneous Mathematical Symbols-A 零杂数学符号
27F0:Supplemental Arrows-A 扩充箭头A
2800:Braille Patterns 盲文
2900:Supplemental Arrows-B 扩充箭头B