Java 如何在不创建任何中间字符串的情况下将char[]转换为byte[]
可能重复:Java 如何在不创建任何中间字符串的情况下将char[]转换为byte[],java,string,char,bytearray,arrays,Java,String,Char,Bytearray,Arrays,可能重复: 我在char[]中有一个密码,我希望这个密码在byte[]中,而不创建任何字符串。请建议最好的方法。如果您只需要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]; char[]chars=。。。 字节[]字节=新
我在
char[]
中有一个密码,我希望这个密码在byte[]
中,而不创建任何字符串。请建议最好的方法。如果您只需要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];
char[]chars=。。。
字节[]字节=新字节[字符长度];
for(int i=0;i
我不知道有什么内置工具可以做到这一点。您可能需要创建一个实用程序类来解决这个问题
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;
}
公共静态字节[]图表字节(字符[]数组){
字节[]结果=新字节[array.length];
for(int i=0;i
此解决方案受到您使用的编码的限制。欢迎使用堆栈溢出!我们鼓励你这样做。如果你有,请将其添加到问题中-如果没有,请先研究并尝试你的问题,然后再回来。你有尝试过吗?请你解释一下为什么你不希望任何字符串参与其中?我做过谷歌搜索。但找不到任何有用的东西。@Tichodroma它是char[]中的密码,如果我将其转换为字符串,它将在内存中,但如果它是byte[]或char[],我可以在工作完成后立即清除它。