我必须将字符串转换为图像,字符串如下所示:
!?ò„ÁÁø?mDé¯ïÌA¤>VbïììîϽ^/èõz²+öó¢ílãÊ… 'í¤ÛX¹-–Û?ÆêÕ ø×vý¹ÿàû•O_ž'ãàò?Euò6Χ?ç?¼ä”vE³•}Uœl#KWwöw'Dzۈ«¸µ¶vUåŽeýGåšv€ºÇéð]Þžžg¹ÜŽ^s™æ÷òž?F“7ù1|Ìdz¡Ü½Çðåù˜®‘r-'w?•“ÚaJQc'‡ÖJÙaHƒaeËéÿ<´``?_·¤‹Êäá!xÉgóáèçÓp~;¼ûþ8?¼Žïçw“Ñd:®17¨ÊÚ¶ÒØ}c[‹1K[U-’Ç?m,¦ËÊ®m?ÁË¢–…•Å¡¬ºk¾qjUn²qÕIª¢^!?Ôo9a׬ʺèн@§Öîmƒh%‹“¿?]ÉWTý›> €ˆ
......等等。
我将它转换为字节数组,然后尝试将其转换为BufferedImage,但我总是得到一个空指针异常。我做了一些研究,发现原因是,我没有注册inputstreamreader,但我没有解决方案。到目前为止,我的代码看起来像这样:
public static BufferedImage decodeToImage(String imageString) {
BufferedImage image = null;
byte[] imageByte;
try {
BASE64Decoder decoder = new BASE64Decoder();
imageByte = decoder.decodeBuffer(imageString);
image = ImageIO.read(new ByteArrayInputStream(imageByte));
} catch (Exception e) {
e.printStackTrace();
}
return image;
}
如果有人可以帮助我,我会很高兴。
编辑:
数据来自服务器,大学项目的服务器向服务器发送命令,在输入流上使用readline时,服务器的答案就是这样。