import java.nio.charset.StandardCharsets; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; public class HelloWorld{ public static void main(String[] args) throws ScriptException { ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine jsEngine = mgr.getEngineByName("JavaScript"); jsEngine.eval("function getArray() {" + "var hex_0d = parseInt(\"0D\", 16);" //<CR> character + "var hex_09 = parseInt(\"09\", 16);" //<TAB> character + "var hex_1b = parseInt(\"1B\", 16);" //<ESC> character + "var hex_04 = parseInt(\"04\", 16);" //<EOT> character + "var hex_84 = parseInt(\"84\", 16);" //<> character + "var hex_0a = parseInt(\"0A\", 16);" //<LF> character + "var hex_0e = parseInt(\"0E\", 16);" //<SO> character + "var hex_0b = parseInt(\"0B\", 16);" //<VT> character + "return [hex_0d, hex_09, hex_1b, hex_04, hex_04, hex_84, hex_0a, hex_0e, hex_0b];" + "};"); String convertFuncSrc = "function convertArray(type, arr) {" + " var jArr = java.lang.reflect.Array.newInstance(type, arr.length);" + " for (var i = 0; i < arr.length; i++) { " + " jArr[i] = arr[i];" + " }" + " return jArr;" + "};"; jsEngine.eval(convertFuncSrc); Object result = jsEngine.eval("convertArray(java.lang.Byte.TYPE, getArray());"); byte[] javaArray = (byte[])result; for(byte i : javaArray) { byte[] chr = new byte[1]; chr[0] = i; System.out.println(String.format("%d : %02X : %s", i, i, new String(chr, StandardCharsets.UTF_8))); } } }
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more