笔者周末在家逆向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里面执行命令
本博客文章绝大多数为原创,少量为转载,代码经过测试验证,如果有疑问直接留言或者私信我。
创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。
创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。