JDK:1.8

当我们需要把一个以GB18030编码的字节数组转换为UTF8字符串,我们可以使用nio中的编解码。

1.GB18030字节数组转换为UTF-8字符串

public static String gB18030ByteArrayToUtf8String(byte[] bytes) {

ByteBuffer byteBuffer = ByteBuffer.wrap(bytes);

CharBuffer gb18030 = Charset.forName("GB18030").decode(byteBuffer);

ByteBuffer utf8 = Charset.forName("UTF8").encode(gb18030);

return new String(utf8.array());

}

这样从字面上很好理解,以GB18030的方式解码字节数组,获取字符缓冲区。以UTF-8的方式,对该字符编码,最后获取字符串。

2.字符串转换为GB18030字节数组

public static byte[] utf8ToGb18030ByteArray(String str) {

ByteBuffer gb18030 = Charset.forName("GB18030").encode(str);

return gb18030.array();

}

3.更多的话

可能一部分人会对String中的getBytes与new String望而生畏,那不妨使用nio中提供的这种作法,简单且易懂。想知道你所需要转换的字符编码是否包含其中?可以使用下面的方法进行判断:

Charset.isSupported("X-UTF-32LE-BOM")

如何查看所有支持的字符集呢?(一般我们用不到这个)

Charset.availableCharsets()

4.图示

java gb18030 转 utf-8_Java:GB18030字节数组与UTF8互转相关推荐

  1. Java:GB18030字节数组与UTF8互转

    2019独角兽企业重金招聘Python工程师标准>>> JDK:1.8 当我们需要把一个以GB18030编码的字节数组转换为UTF8字符串,我们可以使用nio中的编解码. 1.GB1 ...

  2. java中bitconverter_【Java】BitConverter(数字转字节数组工具类)

    import java.nio.ByteOrder; import java.nio.charset.Charset; /** * 数字转字节数组工具类 */ public class BitConv ...

  3. C# 字节数组和Float互转

    C# 字节数组和Float互转 采用移位的方式进行转换,采用 与单片机类似的写法, 从而避免了大小端造成的问题 代码没有进行严格验证,可能存在错误 代码如下 // void U32ToBuf(UInt ...

  4. JAVA里16进制和字节数组互转

    大括号理的就是一个byte类型的数组,里面是3个byte类型那个的数 public static String stringToHexString(String strPart) { String h ...

  5. java乱码转中文乱码_java字节数组转换中文乱码,请求帮助

    从第三方数据库中获取的内容为字节数组,尝试多种方式转换成中文,不过都显示乱码.下面是数据库中返回的字节数组,自己做测试所以直接在测试类里面写出来了.小弟对这一块东西不太熟悉,请... 从第三方数据库中 ...

  6. c# java gt;gt;gt;,相同的字节数组=gt; Java和C#中的不同BigInteger值

    byte[] byteArray = { 52, 51, 102, 100, 55, 48, 48, 48, 57, 97, 57, 55, 97, 55, 100, 51, 49, 49, 99, ...

  7. Java的知识点29—— 文件字符流、字节数组流

    文件字符流 FileReader  FileWriter 分段读取 文件字符输入流 package cn.dym; import java.io.File; import java.io.FileNo ...

  8. java实现linux中gzip压缩解压缩算法:byte[]字节数组,文件,字符串,数据流的压缩解压缩

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现gzip压缩解压缩byte[]字节数组,文件,字符串. 测试代码 public static void main(String[] a ...

  9. 字节数组byte[]和整型,浮点型数据的转换——Java代码

    近期在写C++ socket和java socket之间的通信程序,涉及到整数浮点数的传输.须要从字节数组还原数据,查了一些资料.总结例如以下 1.       整数和浮点数的机器表示 在机器内部.不 ...

最新文章

  1. Openfire XMPP Smack RTC IM 即时通讯 聊天 MD
  2. Nacos源码系列——第二章(Nacos核心源码主线剖析下)
  3. 在ChemDraw中输入千分号的方法
  4. 数据结构与算法基础--错题集
  5. modelsim6.5b安装和仿真bug
  6. 7-24 树种统计 (25 分)(详解)map做法 map真香啊!
  7. P4492-[HAOI2018]苹果树【dp】
  8. 堆排序python代码实现_python实现堆排序
  9. 前端:CSS/10/伪类选择器,CSS列表属性,CSS边框属性,CSS内边距属性,CSS背景属性
  10. 炫酷科技感超前的电子产品发布广告海报psd分层模板,带给你炫酷的未来感
  11. laravel 模型事件几种用法
  12. 课改 计算机 论文,计算机论文 计算机应用课改分析
  13. 中文 NLP(5) -- 宾州树《汉语词性标注规范》
  14. 增加网站的档次!网页设计师可在网站中加入暗色调
  15. LeetCode——反转链表
  16. 如何打开小米,oppo,华为等手机的系统应用的指定页面
  17. 什么是联盟营销以及如何使用它在网上赚更多的钱
  18. Java中调用C++代码
  19. 【已解决】grub引导项修复:Minimal BASH-like line editing is supported.
  20. lol登录服务器时显示乱码,win7系统登录LOL游戏出现乱码的解决方法

热门文章

  1. 24 个 Docker 常见问题处理技巧
  2. Gitlab(在线代码仓库托管软件)
  3. Easy Code的使用教程(带模板)
  4. 在arm32中浮点数与16进制转换
  5. oracle数据库培训
  6. 大华大屏显示高清服务器4u,大华DAHUA国内大华视频综合平台增强型主机DH-M70-4U-E-I产品中心_DAV数字音视工程网...
  7. 网站服务器web空间文件删除不了怎么办
  8. 【鉴黄师赞美】工夫.av:看到最后我默默地穿上了裤子
  9. 转自第一财经日报——基亿传媒在中国实验“广告ZARA”
  10. web扫描姿势——xray被动扫描