僅提供Java方法:

水城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站開(kāi)發(fā)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
抱歉之前回答的不夠完善。在Java下將字符串轉(zhuǎn)化為二進(jìn)制有兩種方法:
1)將字符串轉(zhuǎn)化為字節(jié)數(shù)組,再用Integer提供的toBinaryString()方法(翻譯為:轉(zhuǎn)化成二進(jìn)制字符串)將字節(jié)轉(zhuǎn)化為二進(jìn)制字符串;
2)將字符串轉(zhuǎn)化為字符數(shù)組,再用Integer.toBinaryString()方法將字符轉(zhuǎn)化為二進(jìn)制字符串。
結(jié)果如下:
上代碼:
import?java.util.Scanner;
public?class?Main?{
public?static?void?main(String[]?args)?{
Scanner?sc?=?new?Scanner(System.in);
System.out.println("請(qǐng)輸入漢字:");
String?input?=?sc.nextLine();
if?(input.length()?==?0)?{
System.out.println("輸入錯(cuò)誤");
return;
}
System.out.println("漢字轉(zhuǎn)unicode結(jié)果:");
char[]?chars?=?input.toCharArray();
for?(int?i?=?0;?i??chars.length;?i++)?{
String?unicode?=?Integer.toHexString(chars[i]);
if?(unicode.length()?=?2)?{
//?不足四位前面加0補(bǔ)齊
unicode?=?"00"?+?unicode;
}
unicode?=?"\\u"?+?unicode;
System.out.println(chars[i]?+?":?"?+?unicode);
}
}
}
Java實(shí)現(xiàn)字符串轉(zhuǎn)換成可執(zhí)行代碼
使用commons的jexl可實(shí)現(xiàn)將字符串變成可執(zhí)行代碼的功能,我寫了一個(gè)類來(lái)封裝這個(gè)功能:
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;
/**
* 動(dòng)態(tài)加載方法
*
*/
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);
}
}
調(diào)用
MapString,Object map=new HashMapString,Object();
map.put("testService",testService);
map.put("person",person);
String expression="testService.save(person)";
DyMethodUtil.invokeMethod(expression,map);
方法是有的,但不全實(shí)際.
首先,你要理解,JAVA代碼的運(yùn)行是要被編譯成字節(jié)碼codebyte后才能被執(zhí)行的,以你問(wèn)題中的意思,那個(gè)字符串應(yīng)該是在怎么代碼被編譯后項(xiàng)目在運(yùn)行時(shí),再傳入的參數(shù),這時(shí),要想把傳入?yún)?shù)的字符串當(dāng)成JAVA代碼來(lái)運(yùn)行,只有一種辦法,就是把傳進(jìn)來(lái)的字符串轉(zhuǎn)換成字節(jié)碼,并且,要虛擬加一個(gè)方法體出來(lái).這也不是不可行,可用的技術(shù)有asm.cglib等字節(jié)碼技術(shù).但你想,對(duì)于你的問(wèn)題.這樣有實(shí)際的意義嗎
你還不如,把system.out.print重定義成新的外調(diào)方法調(diào)動(dòng)來(lái)的清晰
把INPUT改成想轉(zhuǎn)換的漢字
import java.io.UnsupportedEncodingException;
public class SoNaiveTooSimple {
public static final String INPUT = "我愛(ài)你,媽媽";
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文字轉(zhuǎn)代碼 java漢字轉(zhuǎn)碼
瀏覽路徑:http://chinadenli.net/article36/hghipg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、品牌網(wǎng)站制作、網(wǎng)站建設(shè)、全網(wǎng)營(yíng)銷推廣、App開(kāi)發(fā)、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)