zhuansky008 2010-05-18 18:57
浏览 350

java读取一GBK文本文件 跳过一段字节 乱码如何处理

用JAVA读取一个用GBK编码的文本文件时,需要跳过一段字节,比如1000 从第1001个字节开始读取。 那么在这儿就有可能出现乱码, new String(字节数组,1000,"gbk");
因为第1001个字节可能是一个字符的高字节,有可能是上一个字符的低字节,如过是高字节那么就正常,反之new String(字节数组,1000,"gbk")这个构造的字符窜就会出现乱码,

这个问题困惑住小弟很久了, 请教哪位仁兄或前辈给予指教,谢谢! 

这是目前我查到的一点资料:\
GBK的整体编码范围是为0x8140-0xFEFE,不包括低字节是0×7F的组合。高字节范围是0×81-0xFE,低字节范围是0x40-7E和0x80-0xFE。

if 0x81&=ch1&=0xFE and (0x40&=ch2&=0x7E or 0x7E&=ch2&=0xFE): #is gb char 这个语句只能判断这两个字节所表示的字符是不是一个GBK字符 而不能区分出我所遇到的问题.

  • 写回答

1条回答 默认 最新

  • iteye_4573 2010-05-18 20:25
    关注

    试下转成unicode

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料