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 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀