java 中常用汉字 的unicode 码范围是多少到多少
4个回答
展开全部
常用汉字 的unicode 码范围是:\u4e00-\u9fa5,下面一个例子是把中英文文档中的汉字提取出来的简单例子:
public class DrawEnglish
{
private static String draw(String content)
{
StringBuffer english = new StringBuffer();
String regex = "[\u4e00-\u9fa5。,?”“《》:!——-、]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content);
while(matcher.find())
{
String temp = matcher.group();
english.append(temp);
}
return english.toString();
}
public static void drawEnglish(String path)
{
FileInputStream fr;
BufferedReader br;
FileWriter fw;
BufferedWriter bw = null ;
try
{
fr = new FileInputStream(path);
br = new BufferedReader(new InputStreamReader(fr,"gb2312"));
fw = new FileWriter("new1.txt");
bw = new BufferedWriter(fw);
String str = null;
StringBuffer sb = new StringBuffer();
while((str = br.readLine()) != null)
{
sb.append(str + "\n");
}
String temp = draw(sb.toString());
bw.write(temp);
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if(bw != null) bw.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
drawEnglish("draw1.txt");
}
}
展开全部
Unicode CJK 的范围分布在多个区段中,带有 CJK 的区块名中都拥有汉字。但最常用的范围是 U+4E00~U+9FA5,即名为:CJK Unified Ideographs 的区块,但 U+9FA6~U+9FFF 之间的字符还属于空码,暂时还未定义,但不能保证以后不会被定义。
在正则表达式中使用 [\u4e00-\u9fa5] 这种方式属于写死的代码,并不能根据平台所提供的字符集范围不同而改变,不过对于要求不是很高的话的是可以了。如果对字符集的要求很高,可以采用下面的这种 Unicode 块的方式:
String regex = "[\\p{InCJK Unified Ideographs}&&\\P{Cn}]]";
在当前的 JDK 版中与 [\u4e00-\u9fa5] 的意义一致。但这样可以匹配 Java 平台所支持Unicode 块名为 CJK Unified Ideogrpahs 中已定义的字符,这种方式就属于“活”代码今后的 JDK 版本升级了,定义到了 \u9fa6 的字符,同样能够满足匹配。
在正则表达式中使用 [\u4e00-\u9fa5] 这种方式属于写死的代码,并不能根据平台所提供的字符集范围不同而改变,不过对于要求不是很高的话的是可以了。如果对字符集的要求很高,可以采用下面的这种 Unicode 块的方式:
String regex = "[\\p{InCJK Unified Ideographs}&&\\P{Cn}]]";
在当前的 JDK 版中与 [\u4e00-\u9fa5] 的意义一致。但这样可以匹配 Java 平台所支持Unicode 块名为 CJK Unified Ideogrpahs 中已定义的字符,这种方式就属于“活”代码今后的 JDK 版本升级了,定义到了 \u9fa6 的字符,同样能够满足匹配。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-18
展开全部
java 中常用汉字 的unicode 码范围是20~25
追问
汉字只有六个?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个还真不好说得,UTF-8编码和GBK编码是不一样的。只知道是16位表示的,最大65535
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询