发代码之前先转段预备知识

计算机处理汉字信息的前提条件是对每个汉字进行编码,这些编码统称为汉字编码。汉字信息在系统内传送的过程就是汉字编码转换的过程。

汉字交换码:汉字信息处理系统之间或通信系统之间传输信息时,对每一个汉字所规定的统一编码,我国已指定汉字交换码的国家标准“信息交换用汉字编码字符集——基本集”,代号为GB 2312—80,又称为“国标码”。

国标码:所有汉字编码都应该遵循这一标准,汉字机内码的编码、汉字字库的设计、汉字输入码的转换、输出设备的汉字地址码等,都以此标准为基础。GB 2312—80就是国标码。该码规定:一个汉字用两个字节表示,每个字节只有7位,与ASCII码相似。

区位码:将GB 2312—80的全部字符集组成一个94×94的方阵,每一行称为一个“区”,编号为0l~94;每一列称为一个“位”,编号为0l~94,这样得到GB 2312—80的区位图,用区位图的位置来表示的汉字编码,称为区位码。

机内码:为了避免ASCII码和国标码同时使用时产生二义性问题,大部分汉字系统都采用将国标码每个字节高位置1作为汉字机内码。这样既解决了汉字机内码与西文机内码之间的二义性,又使汉字机内码与国标码具有极简单的对应关系。

汉字机内码、国标码和区位码三者之间的关系为:区位码(十进制)的两个字节分别转换为十六进制后加20H得到对应的国标码;机内码是汉字交换码(国标码)两个字节的最高位分别加1,即汉字交换码(国标码)的两个字节分别加80H得到对应的机内码;区位码(十进制)的两个字节分别转换为十六进制后加A0H得到对应的机内码。

public

class

WordCode {

public

static

String bytes2HexString(

byte

b) {

return

bytes2HexString(

new

byte

[] { b });

}

public

static

String bytes2HexString(

byte

[] b) {

String ret

=

""

;

for

(

int

i

=

0

; i

<

b.length; i

++

) {

String hex

=

Integer.toHexString(b[i]

&

0xFF

);

if

(hex.length()

==

1

) {

hex

=

'

0

'

+

hex;

}

ret

+=

hex.toUpperCase();

}

return

ret;

}

public

static

void

main(String[] args)

throws

Exception {

String str

=

"

"

;

byte

[] bs

=

str.getBytes(

"

GB2312

"

);

String s

=

""

;

for

(

int

i

=

0

; i

<

bs.length; i

++

) {

int

a

=

Integer.parseInt(bytes2HexString(bs[i]),

16

);

s

+=

(a

-

0x80

-

0x20

)

+

""

;

}

System.out.println(s);

}

}

最后发个查询的网站

字符区位码 java_用Java取得汉字的区位码相关推荐

  1. 字节字符区别Java_【JAVA基础】字符数组与字节数组的区别

    String.getBytes()和String.tocharArray(),字节数组和字符数组的区别 String.getBytes()是将字符串转化为一个字节数组.而String.toCharAr ...

  2. java 区位码转中文_Java根据汉字生成区位码公共类

    package com.sunfairs.util; import java.io.UnsupportedEncodingException; import java.util.Random; pub ...

  3. 重复最多字符次数java_利用Java实现求字符串中出现次数最多的字符及次数

    利用Java实现求字符串中出现次数最多的字符及次数 发布时间:2020-11-12 16:57:24 来源:亿速云 阅读:108 作者:Leah 这篇文章将为大家详细讲解有关利用Java实现求字符串中 ...

  4. php 区位码字符,PHP汉字转区位码用法示例

    这篇文章主要为大家详细介绍了PHP汉字转区位码用法示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编小韵来看看吧! 代码如下: // Www.512Pic.co ...

  5. java 英文字符 字节_3、在JAVA语言中,每个英文字符占 个字节,每个中文汉字占( )个字节。...

    [判断题]中心原子中的几个原子轨道杂化时,必形成数目相同的杂化轨道. [单选题]集合 用区间表示正确的是 ( ) [单选题]15.Java语言的类间的继承关系是 [单选题]8.编译Java Appli ...

  6. 用java实现输入一行字符,分别统计出其中中文汉字、英文字母、空格、数字和其它字符的个数

    用java实现输入一行字符,分别统计出其中中文汉字.英文字母.空格.数字和其它字符的个数 1.分析 1.1 如何进行输入? 需要输入一行字符意味着需要建立一个Scanner对象,用来获取接收的内容 而 ...

  7. java字节字符_java按字节截取带有汉字的字符串的解法(推荐)

    由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度 ...

  8. php 区位码字符,PHP里实现汉字转区位码的示例代码

    PHP里实现汉字转区位码的示例代码 PHP里如何实现汉字转区位码这个问题一直困扰这大多程序员,那么下面这个源码实例相信能给大家带来很大的帮助. 以下为引用的内容: global $PHP_SELF; ...

  9. php 区位码字符,PHP中实现汉字转区位码应用源码实例解析

    global $PHP_SELF; //echo $PHP_SELF; $t1=$_POST['textfield1']; $t2=$_POST['textfield2']; $t3=$_POST[' ...

最新文章

  1. 在Ubuntu 14.04 64bit上安装google-earth免费版
  2. Anaconda 使用的一些体验与困惑
  3. 电脑的发展史_互联网发展史 硅谷传奇之苹果公司
  4. linux select系统调用函数分析,Linux select系统调用
  5. 组件 -——SUl Mobile
  6. js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题...
  7. 安装inde.html使用babel,reactjs – 使用Babel Standalone进行单个React组件渲染,仅使用index.html和Component...
  8. 机器学习实战 | 数据探索(缺失值处理)
  9. java spring security详解
  10. 中介效应调节效应分析对比及操作详解
  11. mysql订单表和订单详情表_订单详情表,与,订单表 怎么做?
  12. python中的f的用法_python中f是什么
  13. OSChina 周五乱弹 ——电影里有在线/离线,递归,循环,矩阵等概念?
  14. 红蜻蜓截图工具在win7下保存截图为png失败
  15. 伺服器对比:S3010,S-U400
  16. Python 学生管理系统+mysql+Flask
  17. 2021年复旦大学961真题回顾
  18. javaone_Java SE 9在JavaOne 2017上达到了Atari般的性能
  19. 每次运行软件都要提示输入管理员账号密码
  20. 普林斯顿10分钟剧本创作比赛

热门文章

  1. dsp正弦波信号发生器c语言编程实例,DSP实验三 正弦波信号发生器
  2. 羊了个羊微信小游戏开发技术解析
  3. 2022-2028年中国特种食用油行业市场运营格局及前景战略分析报告
  4. php大学生创意礼品电商平台的设计与实现
  5. CentOS 下搭建 Hadoop:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).解决
  6. jquery.validate.min.js 插件
  7. 77. Combinations(组合)
  8. tuxedo错误码6_tuxedo错误解析和常用配置说明
  9. 模拟登录淘宝--Python
  10. 定语从句和同位语重句的区别