zoukankan      html  css  js  c++  java
  • java native2ascii.exe的java版本

    笔者周末在家逆向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里面执行命令

    本博客文章绝大多数为原创,少量为转载,代码经过测试验证,如果有疑问直接留言或者私信我。
    创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。
  • 相关阅读:
    记录s标签范例
    链表问题总结
    Hibernate学习总结
    HDU2460-Network
    CF464C-Substitutes in Number
    CF666E-Forensic Examination
    CF373C-Counting Kangaroos is Fun
    CF558E-A Simple Task
    HDU5669-Road
    CF341D-Iahub and Xors
  • 原文地址:https://www.cnblogs.com/passedbylove/p/13384232.html
Copyright © 2011-2022 走看看