如何将char []转换为byte []而不创建任何中间字符串[duplicate]

问题描述 投票:2回答:2

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

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

java string char bytearray arrays
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];

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;
}

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

© www.soinside.com 2019 - 2024. All rights reserved.