如何将Java字符串转换为byte []?

如何将Java字符串转换为byte []?,第1张

如何将Java字符串转换为byte []?

你的方法

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,具体取决于所选的字符集。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5508970.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存