189 8069 5689

java的文字转代码 java输出文字代码

如何将字符串转换为java代码

Java实现字符串转换成可执行代码

创新互联建站一直在为企业提供服务,多年的磨炼,使我们在创意设计,全网整合营销推广到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过10多年以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务服务器托管成都APP应用开发、手机移动建站、网页设计、网络整合营销。

使用commons的jexl可实现将字符串变成可执行代码的功能,我写了一个类来封装这个功能:

import java.util.Map;

import org.apache.commons.jexl2.Expression;

import org.apache.commons.jexl2.JexlContext;

import org.apache.commons.jexl2.JexlEngine;

import org.apache.commons.jexl2.MapContext;

/**

* 动态加载方法

*

*/

public class DyMethodUtil {

public static Object invokeMethod(String jexlExp,MapString,Object map){

JexlEngine jexl=new JexlEngine();

Expression e = jexl.createExpression(jexlExp);

JexlContext jc = new MapContext();

for(String key:map.keySet()){

jc.set(key, map.get(key));

}

if(null==e.evaluate(jc)){

return "";

}

return e.evaluate(jc);

}

}

调用

MapString,Object map=new HashMapString,Object();

map.put("testService",testService);

map.put("person",person);

String expression="testService.save(person)";

DyMethodUtil.invokeMethod(expression,map);

一段文字怎么转成计算机二进制代码

仅提供Java方法:

抱歉之前回答的不够完善。在Java下将字符串转化为二进制有两种方法:

1)将字符串转化为字节数组,再用Integer提供的toBinaryString()方法(翻译为:转化成二进制字符串)将字节转化为二进制字符串;

2)将字符串转化为字符数组,再用Integer.toBinaryString()方法将字符转化为二进制字符串。

结果如下:

关于汉字转换成JAVA代码的问题

把INPUT改成想转换的汉字

import java.io.UnsupportedEncodingException;

public class SoNaiveTooSimple {

public static final String INPUT = "我爱你,妈妈";

public static void main(String[] args) throws UnsupportedEncodingException {

byte[] input = INPUT.getBytes("UNICODE");

for (int i = 2; i input.length; i += 2) {

int result = ((input[i] 0xff) * 16 * 16) + (input[i + 1] 0xff);

System.out.print("" + result + ";");

}

}

}

java字符串怎么转换为代码

方法是有的,但不全实际.

首先,你要理解,JAVA代码的运行是要被编译成字节码codebyte后才能被执行的,以你问题中的意思,那个字符串应该是在怎么代码被编译后项目在运行时,再传入的参数,这时,要想把传入参数的字符串当成JAVA代码来运行,只有一种办法,就是把传进来的字符串转换成字节码,并且,要虚拟加一个方法体出来.这也不是不可行,可用的技术有asm.cglib等字节码技术.但你想,对于你的问题.这样有实际的意义吗

你还不如,把system.out.print重定义成新的外调方法调动来的清晰

java怎么把一段字符串当做代码来执行

在javascript中eval()可以实现字符串转代码,java中需要使用动态编译。

把获得的字符串写入一个临时文件中,然后编译它,在调用其中的函数。

我们把要转换的字符串构造一个完整的类:如果方法是有返回值的.则:

public object eval(string str){

//生成java文件

string s = "class temp{";

s += "object rt(){"

s += "myclass mc = new myclass();"

s += " return mc."+str+"();";

s += "}"

s +="}";

file f = new file("temp.java");

printwriter pw = new printwriter(new filewriter(f));

pw.println(s);

pw.close();

//动态编译

com.sun.tools.javac.main javac = new com.sun.tools.javac.main();

string[] cpargs = new string[] {"-d", "所在目录","temp.java"};

int status = javac.compile(cpargs);

if(status!=0){

system.out.println("没有成功编译源文件!");

return null;

}

//调用temp的rt方法返回结果:

myclassloader mc = new myclassloader();

class clasz = mc.loadclass("test.class",true);

method rt = clasz.getmethod("rt", new class[]{ string[].class });

return rt.invoke(null, new object[] { new string[0] });

//如果方法没有返回就直接调用

}

我们可以先写好多个重载的eval,有返回值和没有返回值的.以及可以传递参数的.

这样我们就可以用字符串转换为java的语句来执行.

JAVA程序,从键盘输入汉字,并将汉子转换为相应的unicode编码,怎么写啊

上代码:

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入汉字:");

String input = sc.nextLine();

if (input.length() == 0) {

System.out.println("输入错误");

return;

}

System.out.println("汉字转unicode结果:");

char[] chars = input.toCharArray();

for (int i = 0; i  chars.length; i++) {

String unicode = Integer.toHexString(chars[i]);

if (unicode.length() = 2) {

// 不足四位前面加0补齐

unicode = "00" + unicode;

}

unicode = "\\u" + unicode;

System.out.println(chars[i] + ": " + unicode);

}

}

}


名称栏目:java的文字转代码 java输出文字代码
URL链接:http://cdxtjz.cn/article/docsdei.html

其他资讯