字符区位码 java_用Java取得汉字的区位码
发代码之前先转段预备知识
计算机处理汉字信息的前提条件是对每个汉字进行编码,这些编码统称为汉字编码。汉字信息在系统内传送的过程就是汉字编码转换的过程。
汉字交换码:汉字信息处理系统之间或通信系统之间传输信息时,对每一个汉字所规定的统一编码,我国已指定汉字交换码的国家标准“信息交换用汉字编码字符集——基本集”,代号为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取得汉字的区位码相关推荐
- 字节字符区别Java_【JAVA基础】字符数组与字节数组的区别
String.getBytes()和String.tocharArray(),字节数组和字符数组的区别 String.getBytes()是将字符串转化为一个字节数组.而String.toCharAr ...
- java 区位码转中文_Java根据汉字生成区位码公共类
package com.sunfairs.util; import java.io.UnsupportedEncodingException; import java.util.Random; pub ...
- 重复最多字符次数java_利用Java实现求字符串中出现次数最多的字符及次数
利用Java实现求字符串中出现次数最多的字符及次数 发布时间:2020-11-12 16:57:24 来源:亿速云 阅读:108 作者:Leah 这篇文章将为大家详细讲解有关利用Java实现求字符串中 ...
- php 区位码字符,PHP汉字转区位码用法示例
这篇文章主要为大家详细介绍了PHP汉字转区位码用法示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编小韵来看看吧! 代码如下: // Www.512Pic.co ...
- java 英文字符 字节_3、在JAVA语言中,每个英文字符占 个字节,每个中文汉字占( )个字节。...
[判断题]中心原子中的几个原子轨道杂化时,必形成数目相同的杂化轨道. [单选题]集合 用区间表示正确的是 ( ) [单选题]15.Java语言的类间的继承关系是 [单选题]8.编译Java Appli ...
- 用java实现输入一行字符,分别统计出其中中文汉字、英文字母、空格、数字和其它字符的个数
用java实现输入一行字符,分别统计出其中中文汉字.英文字母.空格.数字和其它字符的个数 1.分析 1.1 如何进行输入? 需要输入一行字符意味着需要建立一个Scanner对象,用来获取接收的内容 而 ...
- java字节字符_java按字节截取带有汉字的字符串的解法(推荐)
由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度 ...
- php 区位码字符,PHP里实现汉字转区位码的示例代码
PHP里实现汉字转区位码的示例代码 PHP里如何实现汉字转区位码这个问题一直困扰这大多程序员,那么下面这个源码实例相信能给大家带来很大的帮助. 以下为引用的内容: global $PHP_SELF; ...
- php 区位码字符,PHP中实现汉字转区位码应用源码实例解析
global $PHP_SELF; //echo $PHP_SELF; $t1=$_POST['textfield1']; $t2=$_POST['textfield2']; $t3=$_POST[' ...
最新文章
- 在Ubuntu 14.04 64bit上安装google-earth免费版
- Anaconda 使用的一些体验与困惑
- 电脑的发展史_互联网发展史 硅谷传奇之苹果公司
- linux select系统调用函数分析,Linux select系统调用
- 组件 -——SUl Mobile
- js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题...
- 安装inde.html使用babel,reactjs – 使用Babel Standalone进行单个React组件渲染,仅使用index.html和Component...
- 机器学习实战 | 数据探索(缺失值处理)
- java spring security详解
- 中介效应调节效应分析对比及操作详解
- mysql订单表和订单详情表_订单详情表,与,订单表 怎么做?
- python中的f的用法_python中f是什么
- OSChina 周五乱弹 ——电影里有在线/离线,递归,循环,矩阵等概念?
- 红蜻蜓截图工具在win7下保存截图为png失败
- 伺服器对比:S3010,S-U400
- Python 学生管理系统+mysql+Flask
- 2021年复旦大学961真题回顾
- javaone_Java SE 9在JavaOne 2017上达到了Atari般的性能
- 每次运行软件都要提示输入管理员账号密码
- 普林斯顿10分钟剧本创作比赛
热门文章
- dsp正弦波信号发生器c语言编程实例,DSP实验三 正弦波信号发生器
- 羊了个羊微信小游戏开发技术解析
- 2022-2028年中国特种食用油行业市场运营格局及前景战略分析报告
- php大学生创意礼品电商平台的设计与实现
- CentOS 下搭建 Hadoop:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).解决
- jquery.validate.min.js 插件
- 77. Combinations(组合)
- tuxedo错误码6_tuxedo错误解析和常用配置说明
- 模拟登录淘宝--Python
- 定语从句和同位语重句的区别