`

gbk文件转utf-8 Demo

阅读更多
读取gbk编码的文件,并将其转为utf-8编码后输出:

import java.io.File;
import java.io.RandomAccessFile;
import java.io.UnsupportedEncodingException;


public class Test1 {
public static String readTxt(int off,int leng) {
  RandomAccessFile r;
  String str = "";
  try {
   r = new RandomAccessFile(new File("D:/test.txt"), "r");
   byte[] c = new byte[leng];
   r.seek(off);
   r.read(c);
   str = new String(c);
  } catch (Exception e) {
   e.printStackTrace();
  }
  return str;
}
   
  public static byte[] gbk2utf8(String chenese){   
   char c[] = chenese.toCharArray();   
         byte [] fullByte =new byte[3*c.length];   
         for(int i=0; i<c.length; i++){   
          int m = (int)c[i];   
          String word = Integer.toBinaryString(m);                 
          StringBuffer sb = new StringBuffer();   
          int len = 16 - word.length();  
          for(int j=0; j<len; j++){   
           sb.append("0");   
          }   
          sb.append(word);   
          sb.insert(0, "1110");   
          sb.insert(8, "10");   
          sb.insert(16, "10");   
          String s1 = sb.substring(0,8);             
          String s2 = sb.substring(8,16);             
          String s3 = sb.substring(16);   
             
          byte b0 = Integer.valueOf(s1, 2).byteValue();   
          byte b1 = Integer.valueOf(s2, 2).byteValue();   
          byte b2 = Integer.valueOf(s3, 2).byteValue();   
          byte[] bf = new byte[3];   
          bf[0] = b0;   
          fullByte[i*3] = bf[0];   
          bf[1] = b1;   
          fullByte[i*3+1] = bf[1];   
          bf[2] = b2;   
          fullByte[i*3+2] = bf[2];   
             
         }   
         return fullByte;   
  }  

public static void main(String[] args) {
  String str = readTxt(0,731);
 
  byte [] fullByte = gbk2utf8(str);  
  String fullStr = "";
        try {
   fullStr = new String(fullByte, "UTF-8");
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  }  
  System.out.println(fullStr);
}
}

测试文档D:\test.txt内容:
[账号],[日期],[收支种类],[币种],[收入],[支出],[余额],[摘要]

3819660311,2004-2006-01-05,支出,人民币,0,54.20, 6403.89,消费款


中文可以,正确转换
英文乱码
分享到:
评论

相关推荐

    demo_gbk_2_utf8.zip

    批量的将gbk文件装utf-8,简单通俗易懂,别问为什么 多看 多练习 勤能补拙 笨鸟先飞 蒂花之秀 就是将gbk文件转utf-8

    支付宝源码demo

    |————create_direct_pay_by_user-CSHARP-UTF-8 |————create_direct_pay_by_user-JAVA-GBK |————create_direct_pay_by_user-JAVA-UTF-8 |————create_direct_pay_by_user-PHP-GBK |————...

    N5城市门户系列-V9商业版-GBK-UTF8

    本人上传的模板仅供参考... 模板目前已发布GBK、UTF-8 2种编码,完美支持Discuz! X3 X3.1 X3.2最新版本; …… 更多精彩欢迎进入演示站体验!NVBING5 四年(2012-2015)专注Discuz!模板开发与设计,万名站长的不二选择!

    ECShop V2.7.2 UTF-8 正式版.rar

    [变更] demo数据变更为可独立安装包 [变更] 添加广告页面的错误提示信息 [变更] 邮件模板编辑器改进为html编辑器 [修正] 修正短信功能gbk下发送不了中文内容的问题 [修正] 修正短信功能不能群发没有积分范围的特殊...

    Java文件编码转换源码

    通过Java实现文件编码的转换功能,提供了Demo用于测试。 目前仅测试了GB2312 UTF-8之间的相互转换,ISO-8859-1不支持。其余的没有测试

    Activity的跳转方式Demo

    本人在做下载模块的时候,遇到了点击通知栏不响应的问题,所以就顺手写...1. 本Demo使用Utf-8编码,出现乱码,请将编码修改为Utf-8,或将代码文件转为gbk; 2. 本Demo仅演示了四种方式跳转Activity,具体见JumpActivity.java.

    delphi-http-restful客户端.7z

    delphi-http-restful客户端DLL及DEMO(delphi7测试通过) 支持GET,POST,PUT,DELETE 支持自动识别返回的编码转换 utf8 gbk 支持content-type: application/json application/x-www-form-urlencoded 格式数据提交

    ECSHOP2.7.2 仿京东模板,附带静态压缩缓存功能

    同时提供 UTF-8、GBK、BIG5编码 这套模板整合了页面静态缓存+压缩输出功能,但是下载模板后,即使不使用这套模板,经过设置的缓存策略同样会对ECShop当前应用的模板有效。 所以这个功能是可以独立使用的。 下载后...

    SCWS繁体中文分词辞典txt格式

    这是我在研究中文分词时... 本系统支持的汉字编码包括 GBK、UTF-8 在线分词演示: G B K: http://www.hightman.cn/demo/scws/v4.php &lt;br&gt;UTF-8: http://www.hightman.cn/demo/scws/v48.php &lt;br&gt;详情可参看:...

    SCWS简体中文分词辞典txt格式

    这是我在研究中文分词时... 本系统支持的汉字编码包括 GBK、UTF-8 在线分词演示: G B K: http://www.hightman.cn/demo/scws/v4.php &lt;br&gt;UTF-8: http://www.hightman.cn/demo/scws/v48.php &lt;br&gt;详情可参看:...

    scws23-php

    的是 UTF-8 字符集,则不适合用本系统,请参见项目主页上的 scws-1.0.0 ,这套工具完美支持 GBK 和 UTF-8 字符集同时支持词性标注等。(注:BIG5 字符集可以按 GBK 字符集处理) 提供下载的词典是在 Intel 架构的...

    pscws23-20081221.tar.bz2【中文分词】

    的是 UTF-8 字符集,则不适合用本系统,请参见项目主页上的 scws-1.0.0 ,这套工具完美支持 GBK 和 UTF-8 字符集同时支持词性标注等。(注:BIG5 字符集可以按 GBK 字符集处理) 提供下载的词典是在 Intel 架构的...

    PHP简单实现解析xml为数组的方法

    分享给大家供大家参考,具体如下: 最近想要做一个插件机制,需要用到xml,在解析xml时候需要转换为数组,特意记录一个此种解析...xml version=1.0 encoding=UTF-8?&gt; 测试插件 do=aritle/&gt; &lt;controller co=Ari&gt;

    iuhyiuhkjh908u0980

    在windows系统中,命令行中执行ant命令时,当指定的 构建脚本文件中包含中文字符,而构建脚本文件的编码是UTF-8时将会 Invalid byte 1 of 1-byte UTF-8 sequence. 的错误.这个问题尚未 知解决,故先采用GBK的编码. 2.在...

    二级域名管理插件(实现URL隐藏转发) for Discuz!7.2 GBK UTF8.rar

    1.功能简介 ...说明:高级模式下,可以直接编辑根目录下的.htaccess文件,需要掌握Rewrite规则,和正则表达式的写法。 在Linux Apache的环境下测试成功,其他环境没有测试,如果有问题请及时反馈。

    复杂邮件程序完整Java源码,支持添加附件,图片,HTML格式文本,支持远程WebService调用

    String filePath = "d:\\demo1.eml"; OutputStream os = new FileOutputStream(filePath); msg.writeTo(os); os.close(); } catch (MessagingException e) { e.printStackTrace(); } catch ...

Global site tag (gtag.js) - Google Analytics