笔者周末在家逆向jdk源码,得到以下方法

    public static void main(String[] args){
        System.out.println(native2ascii("hh汉字"));
    }

    static String native2ascii(String originalText)
    {
        final StringBuffer stringBuffer = new StringBuffer();

        char[] array = originalText.toCharArray();
        int n2 = array.length;
        for (int i = 0; i < n2; ++i) {
            if (array[i] > '\u007f') {

                stringBuffer.append((char) 92);
                stringBuffer.append((char)117);
                final StringBuffer sb = new StringBuffer(Integer.toHexString(array[i]));
                sb.reverse();
                for (int n3 = 4 - sb.length(), j = 0; j < n3; ++j) {
                    sb.append('0');
                }
                for (int k = 0; k < 4; ++k) {
                    stringBuffer.append(sb.charAt(3 - k));
                }
            }
            else {
                stringBuffer.append(array[i]);
            }
        }
        return stringBuffer.toString();
    }

输出结果等同于 native2ascii.exe里面执行命令

相关文章:

  • 2022-12-23
  • 2022-03-14
  • 2021-10-19
  • 2021-10-17
  • 2021-11-26
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-09
  • 2021-05-25
  • 2021-11-29
  • 2021-11-14
  • 2021-08-30
相关资源
相似解决方案