Java中String与byte互转

        近日在使用frida逆向过程中发现加密后的byte是一个数组,打印出来类似于[23, 22, 10, 34, ........45,23, 109,116],数组中的每个值,与ASCII值对应,即一个数值代表一个字符,每个字符合起来形成字符串。现分享一下Java中的Sting与byte互转的一种实现方法。

一,String转byte

String str = "hello world";
String arr1 = Arrays.toString(str.getBytes());
System.out.println(arr1);

二,byte转String

首先定义一个String转数组的函数

private static int[] fromString(String string) {
        String[] strings = string.replace("[", "").replace("]", "").split(", ");
        int result[] = new int[strings.length];
        for (int i = 0; i < result.length; i++) {
            result[i] = Integer.parseInt(strings[i]);
        }
        return result;
    }

 再对每个数组中的值进行char转换,然后拼接成字符串

int[] i = fromString(arr1);
String str3 = "";

        for (int j = 0; j < i.length;j ++){
            str3 = str3 + (char)i[j];
        }

你可能感兴趣的:(java,java,String转byte,byte转String)