你的方法
decompressGZIP()需要的对象是
byte[]。
因此,对你提出的问题的基本技术回答是:
byte[] b = string.getBytes();byte[] b = string.getBytes(Charset.forName("UTF-8"));byte[] b = string.getBytes(StandardCharsets.UTF_8); // Java 7+ only
但是,你似乎在努力解决的问题是,它显示得不是很好。调用toString()只会为你提供默认
Object.toString()名称,即类名
+内存地址。在你的结果中[
B@38ee9f13,[
B均值
byte[]和
38ee9f13是内存地址,以分隔
@。
为了显示目的,你可以使用:
Arrays.toString(bytes);
但这只会显示为逗号分隔的整数序列,可能不是你想要的整数。
为了得到一个可读的
String从背面
byte[],使用方法:
String string = new String(byte[] bytes, Charset charset);
支持该Charset版本的原因是
StringJava中的所有对象在内部都存储为UTF-16。转换为a时byte[],对于给定的字形,你将获得不同的字节细分String,具体取决于所选的字符集。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)