读取本文部分数据变为byte数组,如何防止字符被拆开?

Jobernowl Jobernowl 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如题。具体情形是:我要读取一个大文本,于是每次读取一小部分(假设每次读取58kb),读取出来的形式是byte数组,然后再把byte数组转化为String。现在遇上的问题是一些特殊编码如unicode最开始读取到的58kb数据不是乱码,但是往后都是乱码了。经过查找资料得知,原因是unicode一个字符要占几个字节吧,由于我分块读取所以把分界点的字符拆开了,比如只读取了半个字符。应该这就是问题所在了吧。现在我考虑的办法是分析每块读取的byte数组最后长度为10的一部分如果没有半个字符就读完,如果有半个字符就归到下一块。只是我不知该如何区分,求助。或者你们觉得我的想法有错或者有更好的想法也可以提出来。编码类型现在考虑到的有UNICODE、UTF-16BE、UTF-16LE。值得注意的是现在我已经能判断这几种编码类型了,所以问题仅仅有以上所说的
...全文

相关推荐

读取Java文件到byte数组的三种方法(总结)

下面小编就为大家带来一篇读取Java文件到byte数组的三种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Syndergaard

Java Socket字节流传输实战:从逐字节读取到TCP粘包拆包避坑

TCP网络编程中,字节流是比对象序列化更基础的数据交互形式,尤其在硬件上报、协议联调等场景下,原始字节的准确读取与解析直接决定通信质量。Java Socket基于ServerSocket监听与accept阻塞模型建立连接,通过InputStream逐字节读取数据,并借助DataInputStream等装饰流提升读写能力。但TCP作为流协议不保留消息边界,available()判断请求结束并不可靠,容易引发粘包与半包问题;字符串累加拼接与异常吞噬也会埋下性能与稳定性隐患。工程实践中,更通用的做法是自定义定长头

weixin_34128839

Java中字符串与byte数组之间的相互转换

Java语言中字符串类型和字节数组类型相互之间的转换经常发生,网上的分析及代码也比较多,这篇文章将主要介绍Java中字符串与byte数组之间的相互转换,有需要的朋友们可以参考借鉴,下面来一起看看吧。

weixin_38695751

C# 图片转成byte存入,数据库读取byte转成图片的类

C# 图片转成byte存入,数据库读取byte转成图片的类

lishuangzs

基于JSON实现传输byte数组过程解析

主要介绍了基于JSON实现传输byte数组过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

weixin_38749863
评论 49
收藏 已收藏
分享
返回顶部
Jobernowl
Java SE 62,620 成员 307,251 内容