中易网

java 中常用汉字 的unicode 码范围是多少到多少

答案:4  悬赏:80  
解决时间 2021-04-27 10:24
  • 提问者网友:巴黎塔下许过得承诺
  • 2021-04-27 06:31
java 中常用汉字 的unicode 码范围是多少到多少
最佳答案
  • 二级知识专家网友:随心随缘不随便
  • 2021-04-27 08:03
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 的字符,同样能够满足匹配。
全部回答
  • 1楼网友:萌萌哒小可爱
  • 2021-04-27 09:37
这个还真不好说得,UTF-8编码和GBK编码是不一样的。只知道是16位表示的,最大65535
  • 2楼网友:浪女动了心
  • 2021-04-27 08:33

你好  java代码大致如下:

 

string s1 ="";

string [] s2 = new string[]{"6211","7231","7956","56fd"};          for (int i=0;i<s2.length;i++){       int a = integer.parseint(s2[i],16);       s1=s1+(char)a;     }     system.out.println(s1);

  • 3楼网友:滚出爷的世界
  • 2021-04-27 08:26
常用汉字 的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");     } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息