中文字符一般使用的编码格式为“GB2312”,那么gb2312到底是什么,简单介绍一下(参考百度百科)

GB2312

一般指信息交换用汉字编码字符集。

《信息交换用汉字编码字符集》是由中国国家标准总局1980年发布,1981年5月1日开始实施的一套国家标准,标准号是GB 2312—1980。GB2312编码适用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312。基本集共收入汉字6763个和非汉字图形字符682个。整个字符集分成94个区,每区有94个位。每个区位上只有一个字符,因此可用所在的区和位来对汉字进行编码,称为区位码。

分区表示

GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。

01-09区为特殊符号。

16-55区为一级汉字,按拼音排序。

56-87区为二级汉字,按部首/笔画排序。

10-15区及88-94区则未有编码。

字节结构

每个汉字及符号以两个字节来表示。第一个字节称为“高位字节”(也称“区字节)”,第二个字节称为“低位字节”(也称“位字节”)。

“高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了0xA1-0xFE(把01-94加上 0xA0)。 由于一级汉字从16区起始,汉字区的“高位字节”的范围是0xB0-0xF7,“低位字节”的范围是0xA1-0xFE,占用的码位是 72*94=6768。其中有5个空位是D7FA-D7FE。

例如“啊”字在大多数程序中,会以两个字节,0xB0(第一个字节) 0xA1(第二个字节)储存。区位码=区字节+位字节(与区位码对比:0xB0=0xA0+16,0xA1=0xA0+1)。

java实现(借鉴https://blog.csdn.net/zzy2011266/article/details/42011047)

public static String getChineseName() {

String str = null;

String name = null;

int highPos, lowPos;

Random random = new Random();

//区码,0xA0打头,从第16区开始,即0xB0=11*16=176,16~55一级汉字,56~87二级汉字

highPos = (176 + Math.abs(random.nextInt(72)));

random=new Random();

//位码,0xA0打头,范围第1~94列

lowPos = 161 + Math.abs(random.nextInt(94));

byte[] bArr = new byte[2];

bArr[0] = (new Integer(highPos)).byteValue();

bArr[1] = (new Integer(lowPos)).byteValue();

try {

//区位码组合成汉字

str = new String(bArr, "GB2312");

int index=random.nextInt(Surname.length-1);

//获得一个随机的姓氏

name = Surname[index] +str;

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

return name;

}

//百家姓

private static final String[] Surname= {"赵","钱","孙","李","周","吴","郑","王","冯","陈","褚","卫","蒋","沈","韩","杨","朱","秦","尤","许",

"何","吕","施","张","孔","曹","严","华","金","魏","陶","姜","戚","谢","邹","喻","柏","水","窦","章","云","苏","潘","葛","奚","范","彭","郎",

"鲁","韦","昌","马","苗","凤","花","方","俞","任","袁","柳","酆","鲍","史","唐","费","廉","岑","薛","雷","贺","倪","汤","滕","殷",

"罗","毕","郝","邬","安","常","乐","于","时","傅","皮","卞","齐","康","伍","余","元","卜","顾","孟","平","黄","和",

"穆","萧","尹","姚","邵","湛","汪","祁","毛","禹","狄","米","贝","明","臧","计","伏","成","戴","谈","宋","茅","庞","熊","纪","舒",

"屈","项","祝","董","梁","杜","阮","蓝","闵","席","季","麻","强","贾","路","娄","危","江","童","颜","郭","梅","盛","林","刁","钟",

"徐","邱","骆","高","夏","蔡","田","樊","胡","凌","霍","虞","万","支","柯","昝","管","卢","莫","经","房","裘","缪","干","解","应",

"宗","丁","宣","贲","邓","郁","单","杭","洪","包","诸","左","石","崔","吉","钮","龚","程","嵇","邢","滑","裴","陆","荣","翁","荀",

"羊","于","惠","甄","曲","家","封","芮","羿","储","靳","汲","邴","糜","松","井","段","富","巫","乌","焦","巴","弓","牧","隗","山",

"谷","车","侯","宓","蓬","全","郗","班","仰","秋","仲","伊","宫","宁","仇","栾","暴","甘","钭","厉","戎","祖","武","符","刘","景",

"詹","束","龙","叶","幸","司","韶","郜","黎","蓟","溥","印","宿","白","怀","蒲","邰","从","鄂","索","咸","籍","赖","卓","蔺","屠",

"蒙","池","乔","阴","郁","胥","能","苍","双","闻","莘","党","翟","谭","贡","劳","逄","姬","申","扶","堵","冉","宰","郦","雍","却",

"璩","桑","桂","濮","牛","寿","通","边","扈","燕","冀","浦","尚","农","温","别","庄","晏","柴","瞿","阎","充","慕","连","茹","习",

"宦","艾","鱼","容","向","古","易","慎","戈","廖","庾","终","暨","居","衡","步","都","耿","满","弘","匡","国","文","寇","广","禄",

"阙","东","欧","殳","沃","利","蔚","越","夔","隆","师","巩","厍","聂","晁","勾","敖","融","冷","訾","辛","阚","那","简","饶","空",

"曾","毋","沙","乜","养","鞠","须","丰","巢","关","蒯","相","查","后","荆","红","游","郏","竺","权","逯","盖","益","桓","公","仉",

"督","岳","帅","缑","亢","况","郈","有","琴","归","海","晋","楚","闫","法","汝","鄢","涂","钦","商","牟","佘","佴","伯","赏","墨",

"哈","谯","篁","年","爱","阳","佟","言","福","南","火","铁","迟","漆","官","冼","真","展","繁","檀","祭","密","敬","揭","舜","楼",

"疏","冒","浑","挚","胶","随","高","皋","原","种","练","弥","仓","眭","蹇","覃","阿","门","恽","来","綦","召","仪","风","介","巨",

"木","京","狐","郇","虎","枚","抗","达","杞","苌","折","麦","庆","过","竹","端","鲜","皇","亓","老","是","秘","畅","邝","还","宾",

"闾","辜","纵","侴","万俟","司马","上官","欧阳","夏侯","诸葛","闻人","东方","赫连","皇甫","羊舌","尉迟","公羊","澹台","公冶","宗正",

"濮阳","淳于","单于","太叔","申屠","公孙","仲孙","轩辕","令狐","钟离","宇文","长孙","慕容","鲜于","闾丘","司徒","司空","兀官","司寇",

"南门","呼延","子车","颛孙","端木","巫马","公西","漆雕","车正","壤驷","公良","拓跋","夹谷","宰父","谷梁","段干","百里","东郭","微生",

"梁丘","左丘","东门","西门","南宫","第五","公仪","公乘","太史","仲长","叔孙","屈突","尔朱","东乡","相里","胡母","司城","张廖","雍门",

"毋丘","贺兰","綦毋","屋庐","独孤","南郭","北宫","王孙"};

java 随机生成简单中文_用java语言实现随机生成中文姓名相关推荐

  1. 怎样对java网站进行简单修改_用Java写一个简单的毕业设计,功能就增删改查的一些基本功能就可以,需要哪些技术?...

    JAVA实现对吗.我来BB几句吧. 首先,你描述的问题,解决方案是属于java web的知识. 毕设的程度呢.第一种方案: 你可以入手很成熟很成熟的ssm架构.就是Spring+mybatis plu ...

  2. java多态的简单例子_要JAVA的简单例子,继承\多态的,详细讲解运行的每一步

    java中的多态是动态绑定的,也就是说在编译期不能确定一个方法的执行体是哪个方法(在继承中重写的方法).执行果支委会根据在堆上分配的的引用去寻找方法体,所以产生你你所不想要的结果是正常的也是正确的.改 ...

  3. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  4. java ug二次开发_使用Java进行UG二次开发:简单的例子(上) | 学步园

    最近因为要进行TeamCenter二次开发(胖客户端定制),所有要开始研究Java了.因此突发奇想为什么不能使用Java进行二次开发呢?现在对UG进行的开发以C/C++应用为主.大多数使用的是原来的U ...

  5. java换成中文_如果我们的编程替换成中文会变成怎样?

    首先大概的看一下中文编码: 你以为会写中文就会编程吗?这就像你以为会写汉字就会写出好文章一样.编程是和机器沟通,因此要用机器的语言而不是人类的语言.最早的程序就是0和1的数字,不是中文也不是英文.以前 ...

  6. java生成iso9660工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo_20210212 v7.0.0 正式版发布,此次版本更新如下: 1.新增对DB2数据库的支持 2.新增按字段生成文件,支持把字段.JSON.XML数据转换成任何代码 3.新增大量新的自 ...

  7. java订单编号工具类_[idmiss-common] Java 工具类之- 顺序订单号的生成

    1.前言 这是我写的工具类之一:根据日期生成唯一顺序订单号. 用Java 配合 Redis 实现包含日期的顺序订单号的生成, 效率可以达到 2500+/s 1000W+/h 个 . 2.基本介绍 框架 ...

  8. java编译后生成字节码_请问java源文件编译后怎么生成字节码文件?

    比如,有的java源程序生成一个字节码文件,带有内部类的生成两个.可是有一种情况怎么回事呢?importjava.awt.*;importjavax.swing.*;importjava.awt.ev ...

  9. java打印 好看的图形_分享java打印简单图形的实现代码

    我们平时都是使用的画图工具进行简单图形的绘制,今天我们使用java打印一些简单的图形 实现代码如下 package test; /** * * @author hanzel * @打印图形 * */ ...

  10. java aes iv 24位_【JAVA】AES加密 简单实现 AES-128/ECB/PKCS5Padding

    AES加密 AES 是一种可逆加密算法,对用户的敏感信息加密处理. 本文暂不深入AES原理,仅关注JAVA代码实现AES加解密. JAVA代码实现 这是一个在线AES加密网站.从页面上我们可以看到如下 ...

最新文章

  1. 模拟电路技术之基础知识(十)
  2. c++将int转换成string_Integer与int的区别 (== 与 equal)
  3. 载波聚合或双连接的方式进行_处理载波聚合及双连接的装置及方法与流程
  4. Maven parent.relativePath
  5. 志邦橱柜坑爹,志邦橱柜大忽悠,志邦橱柜欺骗
  6. java 找不到符号 con_我的java程序运行时,提示找不到符号,求解!
  7. mysql中字符串和数字的互转函数
  8. 计算机文档我的文档丢失,“我的文档”不见了如何找回?几种解决“我的文档不见了”的办法...
  9. 机器学习基础(五十五)—— 核(Kernel Trick)
  10. 极点五笔linux,Ubuntu 11.10安装极点五笔
  11. 迅雷极速版任务出错的解决办法(亲测可用)
  12. 计算机毕业设计Java幼儿园管理系统(源码+系统+mysql数据库+Lw文档)
  13. 计算机中的字体无法删除,电脑安装的字体怎么删除不了怎么办啊
  14. ERP-非财务人员的财务培训教(一.二)------财务基础知识
  15. 在Verilog里边 always@(*)语句是什么意思
  16. mtk6592处理器怎么样,mtk6592参考设计原理图下载
  17. MATLAB技术沙龙之如何批量处理图像的大小
  18. Python:绘制动态地图-pyecharts
  19. 用verilog HDL实现数字基带信号的2FSK调制
  20. 七月算法机器学习笔记9 推荐系统

热门文章

  1. CSS学习(第三天)(层叠性、继承性、优先级,CSS 盒子模型)
  2. 使用H-lua框架制作魔兽争霸地图(11-玩家屏幕信息打印)
  3. Janus配置文件详解
  4. Heuristic (computer science)
  5. JAVA网络编程之上传一张图片
  6. 融资融券是对A股市场明显利好
  7. 何謂硬金、軟金、電鍍金、化金、閃金?
  8. xcode打包生成ipa的方法
  9. 简单Rabbitmq 发送消息和接收消息
  10. 绝地求生左下角服务器显示,绝地求生提示selectregion(server)是什么意思 问题解决方法...