Java 如何把gb2312编码转化为汉字(互转)
public void testApp() throws Exception
{//十六进制编码转中文字符串String string = "C2ACD0E3cbd5343232373234313836323230323033313833";String result = stringToGbk(string);System.out.println(result);//中文字符串转十六进制编码字符串String a="李斯";byte[] b=a.getBytes("GB2312");String hexStr = bytesToHexFun1(b);System.out.println(hexStr);}
//将gbk编码转换成汉字
public String stringToGbk(String string) throws Exception
{byte[] bytes = new byte[string.length() / 2];for(int i = 0; i < bytes.length; i ++){byte high = Byte.parseByte(string.substring(i * 2, i * 2 + 1), 16);byte low = Byte.parseByte(string.substring(i * 2 + 1, i * 2 + 2), 16);bytes[i] = (byte) (high << 4 | low);}String result = new String(bytes, "gbk");return result;
}
//将byte数组转成16进制字符串
public static String bytesToHexFun1(byte[] bytes) {
char[] HEX_CHAR = {'0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
// 一个byte为8位,可用两个十六进制位标识
char[] buf = new char[bytes.length * 2];
int a = 0;
int index = 0;
for(byte b : bytes) { // 使用除与取余进行转换
if(b < 0) {
a = 256 + b;
} else {
a = b;
}
buf[index++] = HEX_CHAR[a / 16];
buf[index++] = HEX_CHAR[a % 16];
}
return new String(buf);
}
参考资料:
1、http://doc.chacuo.net/gb2312
2、https://bbs.csdn.net/topics/390283856
3、https://zhidao.baidu.com/question/1110700468326328739.html
Java 如何把gb2312编码转化为汉字(互转)相关推荐
- Python爬虫笔记——Url解码时,如何将汉字转化为以 %开头的 gb2312 编码 和 将以%号开头的编码转化为汉字 的示例
参考的链接: Url解码时,如何将汉字转化为以 %开头的 gb2312 编码 Python标准库urllib中parse.quote() Python之quote()使用 python之urlenco ...
- C#.NET GB2312编码转化为中文
代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...
- java实现utf-8与GB2312编码的转换
Java 则采用了平台无关的 UNICODE,Java 从一个 byte 流中读取一个字符串时,将把平台 相关的 byte 转变为平台无关的 Unicode 字符串.在输出时 Java 将把 Unic ...
- GB2312 编码(转)
GB2312编码范围:A1A1-FEFE,其中汉字编码范围:B0A1-F7FE. GB2312编码是第一个汉字编码国家标准,由中国国家标准总局1980年发布,1981年5月1日开始使用.GB2312编 ...
- java如何解析mime编码_javamail中MimeUtility解码繁体字的问题
Keyword: javamail MimeUtility 繁体字 乱码 在描述这个问题之前,先把一些包的包名,版本,用到的方法,以及大概情况贴上来,大家可以先对号入座再考虑往下看 包名:javax. ...
- 郑码输入法 编码规则简介 汉字分解
去找了一本<郑码输入法手册>,然后开始了郑码的学习.这一部分主要是对郑码的基本编码规则做一个了解,然后学习郑码中汉字的分解方式. 一. 认识郑码输入法 1. 简介 郑码输入法是一种较为流行 ...
- php gb2312,GB2312 编码
GB2312编码范围:A1A1-FEFE,其中汉字编码范围:B0A1-F7FE. GB2312编码是第一个汉字编码国家标准,由中国国家标准总局1980年发布,1981年5月1日开始使用.GB2312编 ...
- java导出csv文件乱码_记一次java生成csv文件乱码的解决过程 (GB2312编码)
系统:win7 (格式:中文(简体,中国)) 工具:Eclipse (默认编码utf-8) 服务两个:[restful接口] 和 [服务*** server]. 场景:[服务*** server]多 ...
- Java中获取GBK编码汉字的拼音首字母(包括生僻字)
Java中获取GBK编码汉字的拼音首字母(包括生僻字) 前言 代码 结果 前言 网上关于Java中获取汉字的拼音首字母的方法很多,但大多基于GB2312的汉字所属编码位置判断方法,现有一种基于GBK编 ...
最新文章
- 梦见男朋友和别的女生逛街,第一反应亮了... | 每日趣闻
- 五子棋博弈树剪枝c语言,五子棋AI博弈树之带Alpha-Beta剪枝的极大极小过程函数...
- python 结构体数组 定义_一篇文章弄懂Python中所有数组数据类型
- java数据类型,取值范围,引用类型解析
- 中国电梯行业运行前景与品牌竞争分析报告2022版
- [1197]约瑟夫问题 (循环链表)SDUT
- ueditor工具栏弹出html,UEditor工具栏上自定义按钮、图标、事件、窗口页面
- magento 首页添加最新产品 Display new products on the home page
- Centos7 修改主机名
- 如何修改SQL Server 2008数据库服务器名称
- Java 实例 - 查找 List 中的最大最小值
- python 加速方法_24种方法加速你的Python
- java email 正则 验证
- c语言中*在变量的右上角,C语言中变量的声明和定义
- SQL基础语句汇总-学习
- 使用网云穿「内网穿透」实现外网访问内网瑞友天翼等软件
- win10下Google Chrome 打不开网页的解决方案
- Linux常用命令--解压缩
- 华为荣耀系列移动终端产品分析和演进研究
- IPv6的HappyEyeballs算法