有人说中国常用字是3500左右。嗯,一个软盘好像就能存10万字,那么我们用java是不是能获取所有的常用的字?

应用开发时,很多同学都处理过中文乱码的问题吧,怎么解决的,是不是ISO-8859-1或UTF-8之类的编码互相转。

有java与字符串编码编程经验,我们不难想到是否可以从一个字符集找出所有的中文字符,不就是所有的中文字么,那我们就来取下较少的也差不多是常用的字符集"GB2312"。

//https://blog.csdn.net/gtkknd/article/details/80593886

/*在GB2312编码的实际应用中,有时会用到区位码的概念。GB2312编码对所收录字符进行了"分区"处理,共94个区,每个区含有94个位,共8836个码位.

而区位码实际是GB2312编码的内部形式,它规定对收录的每个字符采用两个字节表示,

第一个字节为"高字节",对应94个区;第二个字节为"低字节",对应94个位。所以它的区位码范围是:0101-9494.

为兼容ASCII码,区号和位号分别加上0xA0偏移就得到GB2312编码。在区位码上加上0xA0偏移,

可求得GB2312编码范围:0xA1A1-0xFEFE,其中汉字的编码范围为0xB0A1-0xF7FE,第一字节0xB0-0xF7

(对应区号:16-87),第二个字节0xA1-0xFE(对应位号:01-94).

*/

PrintWriter pw=new PrintWriter(new OutputStreamWriter(new FileOutputStream("/Users/chengzhong/work/yimilan_work/label/chars.txt"),"UTF-8"));

int n=0;

//区长度

for(int i=Integer.parseInt("B0",16);i<=Integer.parseInt("F7",16);i++) {

//位长度

for(int j=Integer.parseInt("A1",16);j<=Integer.parseInt("FE",16);j++) {

byte[] tmp=new byte[2];

tmp[0]=(byte)i;

tmp[1]=(byte)j;

n++;

String word=new String(tmp,"GB2312");

System.out.println(word);

pw.println(word);

String locArea=String.valueOf(Integer.toHexString(i)+Integer.toHexString(j));

try {

charService.insertWord(locArea,word,Integer.toHexString(word.charAt(0)));

}catch(Exception e) {

log.error(e.getMessage(),e);

}

}

}

System.out.println("总字数:"+n);

pw.close();通过上面这段代码,我得到了6千多个汉字,这差不多覆盖常用汉字了。

评论:

提交

java 常用汉字_中国常用汉字有多少相关推荐

  1. java lock 效率_工作常用4种Java线程锁的特点,性能比较、使用场景

    多线程的缘由 在出现了进程之后,操作系统的性能得到了大大的提升.虽然进程的出现解决了操作系统的并发问题,但是人们仍然不满足,人们逐渐对实时性有了要求. 使用多线程的理由之一是和进程相比,它是一种非常花 ...

  2. java lambda函数_最常用的 Java 8 中的 Lambda 函数(项目中实用笔记)

    最常用的 Java 8 中的 Lambda 函数(项目中实用笔记) 简介 Java 8 中的新特性,虽然现在都出到了Java14版本,不过在日常的开发过程中,8的版本是足够使用了,再说现在的8以上的版 ...

  3. 中国有多少java程序员_中国有多少个程序员?

    中国有多少程序员,男女比例是怎样.都潜伏在哪等等?我一直都很好奇. 在业余时间,我运营了这个公众号,关注的读者也都是和我一样每天低着头,弯着脖子看着电脑敲着键盘.想着编程就是一整天的同类,我也挺好奇这 ...

  4. java设计技巧_程序常用的设计技巧

    出自:公众号[编程一生] 原文:https://mp.weixin.qq.com/s/y4DNrH3iqWns25__kFAQpQ 一.背景 程序的定义:程序=数据+算法+接口 二.常用技巧 技巧1 ...

  5. java 考古题_中国人自己第一次做考古的带领人是()

    [单选题]3. ()是用来复现热力学温标的. [判断题]3.热电阻温度传感器由电阻体.引出线.绝缘套管等组成. [判断题]9. 流体在单位时间内流过管道或设备某界面出的数量称为流量,可以用重量或质量来 ...

  6. 中国第一批写java的人_中国java开源界最可爱的人们

    评论 # re: 中国java开源界最可爱的人们 2007-12-07 15:29 sitinspring 如果少一些抒情,多一点实质内容,文章更耐看.  回复  更多评论 # re: 中国java开 ...

  7. 外贸常用术语_外贸常用贸易术语之间,要这么换算……

    外贸中术语很多,外贸主要常用贸易术语之间如何换算呢? FOB价也称离岸价,卖家只承担货物运到装运港船舷的费用和责任: CFR价格是卖家要承担成本加运费: CIF价格是成本,保险加运费. 一.FOB.C ...

  8. java 农历算法_中国农历算法java实现

    /** * 中国农历算法 - 实用于公历 1901 年至 2100 年之间的 200 年 */ import java.text.*; import java.util.*; class Chines ...

  9. java 建行接口_中国建设银行网上支付接口以及自动对账

    一.关于支付: 最近用java语言做了一个建行网上支付的系统,和建行做的接口.现在整理一下发布出来. 开发之前,参考了同道中人苏飞同学的一篇文章,他写的非常好,非常完善和细致.用.net语言所写,见链 ...

  10. 中国邮政储蓄银行java开发薪资_中国邮政储蓄银行薪资待遇及职业前景

    中国邮政储蓄银行地位特殊,营业网点有4万之多,性质与国企相似,工资怎么可能如此低呢,不同地区.同一分行内不同岗位工资待遇会有所差异. 银行从业人员工作相对稳定,虽不比公务员那种铁饭碗确也不似商业企业那 ...

最新文章

  1. python能在excel运行吗-用ExcelPython在Excel中调用Python
  2. flutter字体不跟随系统_flutter 禁止字体大小跟随系统字体改变大小
  3. python类成员_Python的类成员和对象成员
  4. Ubuntu 16.04下Caffe-SSD的应用——常见训练时报错总结
  5. Vector 把一个vector追加到另一个vector
  6. 通过实现继承TabActivity并且实现TabContentFactory的方法创建选项卡的一点心得
  7. 本机连接虚拟机Oracle时报错的解决办法
  8. Oracle对表名大小写敏感吗,让Oracle 大小写敏感 表名 字段名 对像名
  9. java获取正在执行的timer_Java线程与并行编程(一)
  10. chattr与lsattr命令
  11. 如何利用python整合excel_一篇文章告诉你如何利用python实施自动化办公,操作Excel...
  12. 考研复试数据库知识总结
  13. 2021SAAE上海第七届教育装备展览会
  14. 写给安卓软件工程师的3条建议,全套教学资料
  15. AU降噪 李兴兴
  16. AltiumDesigner PCB 文件过大
  17. Abase2:字节跳动新一代高可用 NoSQL 数据库
  18. win10彻底关闭windows defender,解决无故占用大量CPU问题
  19. 191201 解决MagicMouse2速度延迟缓慢
  20. 下一代社交产品的四个特性

热门文章

  1. 微型计算机原理小闹钟,微机原理课程设计_电子钟的设计.doc
  2. 用grub4dos制作U盘启动盘winpe+红叶dos+maxdos+veket+linuxmint
  3. RPA 在 HR 人力资源系统的应用
  4. 操作系统笔记(含王道计算机考研——操作系统课件)
  5. SDR WiFi平台 gr-ieee802-11 软件无线电实现802.11协议
  6. Jeecg Boot 2.2.1 版本发布,基于SpringBoot的低代码平台
  7. java环境变量如何配置?
  8. sqlserver入门
  9. 随机手机号查询易语言代码
  10. python破解wifi-Python利用字典破解WIFI密码的方法