字节数组到十六进制字符数组的转换[重复]

Posted

技术标签:

【中文标题】字节数组到十六进制字符数组的转换[重复]【英文标题】:Byte array to hex char array conversion [duplicate] 【发布时间】:2015-05-05 11:07:57 【问题描述】:

我的字节数组是这样的

 byte[] x =  (byte) 0xff , (byte) 0x80  ;

如何将其转换为 char 数组 char[] y 其中:-

y[0]='f';
y[1] ='f' and so on

【问题讨论】:

... 你的“等等”是什么意思?想必你并不是说数组中的每个元素都是'f',它看起来就是这个样子。 你想把它转换成 'f', 'f', '8', '0' 吗? @Thilo 为什么将其标记为重复?问题是关于转换为 char 数组。在java中转换为字符串不等于转换为char数组。尤其是涉及到密码的时候。 【参考方案1】:

这应该对你有帮助:

byte[] data =  (byte) 0xff , (byte) 0x80  ;
String text = new String(data, "UTF-8");
char[] chars = text.toCharArray();

【讨论】:

这不会产生 'f', 'f', '8', '0' 嗯,没有指定,所以我假设他想将字节转换为相应的字符值...... 是的。这个问题后来澄清了。 感谢 Thilo 的链接,共享代码对我有用。字节[] x = (字节)0x80,(字节)0x60; StringBuilder sb = new StringBuilder(x.length * 2); for(byte b: x) sb.append(String.format("%02x", b & 0xff));字符串 s = sb.toString(); char[] 数组 = s.toCharArray(); 密码不安全。

以上是关于字节数组到十六进制字符数组的转换[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将字符串转换为十六进制字节数组[重复]

从字节数组转换为字符串十六进制c# [重复]

python中的十六进制字符串到字节数组

Java将字节数组转换为十六进制字节数组[重复]

java中把字节数组为16进制字串

如何将字符串转换为十六进制字节数组? [复制]