用软件自动下载的网页源码,java怎么解决?

网页源码一旦字数超过三万字,汉字就都成乱码了,怎么办?
2025-05-14 03:06:27
推荐回答(2个)
回答1:

我大概知道为啥会和字数有关系。因为java里面,一个字符串最长就是65536个字节,注意是字节!而一个汉字至少有两个字节,所以三万多个汉字就可能超过字符串能容纳的最大值。于是在解码的时候因为缺少更多的信息而解码出错。

至于解决方法,思路就是在适当的地方分割字符串,用多个字符串(String[] 或者ArrayList)来存放这些文字。至于哪里分割,可以选择有换行的地方分割。也就是说,你用BufferedReader.readLine每次读入一行,放入字符串数组中。这样就行了

回答2:

乱码跟字数有关?个人觉得更可能跟编码格式有关吧