通过以下方法将GBK字符转成UTF-8编码格式的byte【】数组

  1. package test;
  2. import java.io.UnsupportedEncodingException;
  3. public class TestEncoder {
  4. /**
  5. * @param args
  6. */
  7. public static void main(String[] args) throws Exception {
  8. String gbk = "iteye问答频道编码转换问题";
  9. String iso = new String(gbk.getBytes("UTF-8"),"ISO-8859-1");
  10. System.out.println(iso);
  11. String utf8 = new String(iso.getBytes("ISO-8859-1"),"UTF-8");
  12. System.out.println(utf8);
  13. System.out.println(getUTF8StringFromGBKString(gbk));
  14. }
  15. public static String getUTF8StringFromGBKString(String gbkStr) {
  16. try {
  17. return new String(getUTF8BytesFromGBKString(gbkStr), "UTF-8");
  18. } catch (UnsupportedEncodingException e) {
  19. throw new InternalError();
  20. }
  21. }
  22. public static byte[] getUTF8BytesFromGBKString(String gbkStr) {
  23. int n = gbkStr.length();
  24. byte[] utfBytes = new byte[3 * n];
  25. int k = 0;
  26. for (int i = 0; i < n; i++) {
  27. int m = gbkStr.charAt(i);
  28. if (m < 128 && m >= 0) {
  29. utfBytes[k++] = (byte) m;
  30. continue;
  31. }
  32. utfBytes[k++] = (byte) (0xe0 | (m >> 12));
  33. utfBytes[k++] = (byte) (0x80 | ((m >> 6) & 0x3f));
  34. utfBytes[k++] = (byte) (0x80 | (m & 0x3f));
  35. }
  36. if (k < utfBytes.length) {
  37. byte[] tmp = new byte[k];
  38. System.arraycopy(utfBytes, 0, tmp, 0, k);
  39. return tmp;
  40. }
  41. return utfBytes;
  42. }
  43. }

解决GBK字符转UTF-8乱码问题的更多相关文章

  1. 理解并解决GBK转UTF-8奇数中文乱码(转)

    最近在做一个反馈功能,把数据反馈到对方公司网站,我公司是GBK编码,对方公司是UTF-8编码.因此,我需要将GBK编码数据转换成UTF-8编码数据,这样对方网站才不会乱码.最简单的方法是将HttpCl ...

  2. python爬虫解决gbk乱码问题

    今天尝试了下爬虫,爬取一本小说,忘语的凡人修仙仙界篇,当然这样不好,大家要支持正版. 爬取过程中是老套路,先获取网页源代码 # -*- coding:UTF-8 -*- from bs4 import ...

  3. 22-python爬虫解决gbk乱码问题

    转载自: python爬虫解决gbk乱码问题   今天尝试了下爬虫,爬取一本小说,忘语的凡人修仙仙界篇,当然这样不好,大家要支持正版. 爬取过程中是老套路,先获取网页源代码 # -*- coding: ...

  4. Java_Web学习笔记_过滤器应用案例(解决全站字符乱码)

    解决全站字符乱码(POST和GET中文编码问题) servlet: l  POST:request.setCharacterEncoding(“utf-8”); l  GET: String user ...

  5. 解决在Ubuntu终端下使用cURL获取GBK格式的页面出现乱码问题

    问题描述 在Ubuntu下使用终端使用cURL去拿一个GBK的页面,发现返回来的内容里面中文都是乱码 解决方法 通过iconv来处理乱码拿到的内容,进行转码,示例如下: $curl http://ww ...

  6. 解决Fiddler查看Post参数中文乱码的问题

    解决Fiddler查看Post参数中文乱码的问题 解决方法: 1.win+R 2.打开注册表编辑器:输入regedit +回车+是 3.HKEY_CURRENT_USER\Software\Micro ...

  7. 解决URL地址中的中文乱码问题的办法

    解决URL地址中的中文乱码问题的办法 引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生 ...

  8. 解决ArcGIS10.3属性表中文乱码问题

    问题描述:在10.3刚出为不久,就发现有时属性表会出现中文乱码的问题. 解决方法:在Cmd命令行中输入以下命令: reg add HKEY_CURRENT_USER\Software\ESRI\Des ...

  9. 解决Ubuntu和Windows的文件乱码问题(转载)

    解决Ubuntu和Windows的文件乱码问题(debian也通用) 1.转换文件内容编码   Windows下天生的纯文本文件,其中文编码为GBK,在Ubuntu下显示为乱码,可以使用iconv命令 ...

随机推荐

  1. 正则表达式 java

    如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单.如果你不熟悉这个术语,那么"正则表达式"(Regular Expres ...

  2. Java中文档制作与继承

    1:如何制作帮助文档(了解) (1)写一个类 (2)加入文档注释 (3)通过javadoc工具生成即可 javadoc -d 目录 -author -version ArrayTool.java 2: ...

  3. Qt开发环境中使用报表控件FastReport遇到的一些问题(二)

    上一节中谈到的那个问题:传递的变量内容如果是纯英文,报表报错.经笔者反复测试,找到了解决办法:代码中第5行替换为以下 params<<"my_var"<<& ...

  4. Caffe proto閱讀

    --------------------------------------------------------------------------------- 1.Data Layer sourc ...

  5. vmware12用 unlocker206能不能解锁 OS X系统

    先下载UnLocker2061.zip 2. 选择虚拟机右键--> 属性 3.将下载的unlocker2061解压后文件放入VMware安装目录下  选择win-install.cmd文件  右 ...

  6. 问:Linux下Chrome标题栏中文乱码

    From:http://blog.csdn.net/loveaborn/article/details/29579787 在使用Linux的时候你会遇到一些奇奇怪怪的问题,不过,你会在解决这些问题的过 ...

  7. cocos2d-x 3.2 listview scorllview 等容器在小米华为等部分手机显示泛白解决

    感觉记不住,代码贴上以免以后难找 在proj.android\src\org\cocos2dx\cpp\AppActivity.java 中的 public class AppActivity ext ...

  8. 新冲刺Sprint3(第三天)

    一.Sprint会议 更新商品价格.商品描述功能已经完成了,搜索商品功能也正在准备了. 以下是部分功能真机测试下的效果图:     二.Sprint周期 看板: 燃尽图:

  9. VC++ ADO相关

    <VC对ADO的操作> ADO概述: ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口. ADO 使您能够编写应用程序以通过 ...

  10. 怎么使用jquery判断一个元素是否含有一个指定的类(class)

    在jQuery中可以使用2种方法来判断一个元素是否包含一个确定的类(class).两种方法有着相同的功能.2种方法如下:(个人喜欢用hasClass()) 1.           hasClass( ...