1

可能重复:
将 char 数组转换为字节数组并再次返回

我有一个密码,char[]我想输入这个密码byte[]而不创建任何String. 请建议最好的方法。

4

2 回答 2

6

如果您只需要 ASCII 或 ISO-8859-1 编码,则可以一次复制一个字符。

char[] chars = ...
byte[] bytes = new byte[chars.length];
for(int i = 0; i < chars.length; i++)
    bytes[i] = (byte) chars[i];
于 2012-10-18T08:33:57.167 回答
0

我不知道有任何内置工具可以做到这一点。您可能想要创建一个实用程序类来为您解决问题。

public static byte[] charToByte(char[] array) {

  byte[] result = new byte[array.length];

  for(int i = 0; i < array.length; i++) {
    result[i] = (byte) array[i];
  }

  return result;
}

此解决方案如何受到您使用的编码的限制。

于 2012-10-18T08:41:47.543 回答