如何将char []转换为byte []而不创建任何中间String

时间:2012-10-18 08:29:45

标签: java string char bytearray arrays

  

可能重复:
  Converting char array into byte array and back again

我在char[]中有一个密码,我想在byte[]中使用此密码而不创建任何String。请以最佳方式提出建议。

2 个答案:

答案 0 :(得分: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];

答案 1 :(得分: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;
}

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