① java里如何將字元轉為url碼
Java可以使用URLEncoder提供的轉換字元的方法來對普通字元串進行轉換格式,示例如下:
importjava.net.URLDecoder;
importjava.net.URLEncoder;
publicclassURLDecoderTest{
publicstaticvoidmain(String[]args)throwsException{
//將application/x-www-form-urlencoded字元串
//轉換成普通字元串
//必須強調的是編碼方式必須正確,如的是gb2312,而google的是UTF-8
StringkeyWord=URLDecoder.decode("%E6%96%87%E6%A1%A3","gb2312");
System.out.println(keyWord);//將普通字元串轉換成
//application/x-www-form-urlencoded字元串
//必須強調的是編碼方式必須正確,如的是gb2312,而google的是UTF-8
StringurlStr=URLEncoder.encode("文檔","gb2312");
System.out.println(urlStr);
}
}
② JAVA中URL編碼工具,會將+ = /等也進行編碼嗎
只要是在url的內容中 就會進行編碼
③ java url中文參數怎麼成編碼
成為編碼,就是因為它對中文進行編碼誒,編碼方式很多,最簡單的一種就是base64,。
④ java url 編碼
POST過去的數據是不用URL編碼的。
你先request.getParameter("xm")獲取下,看是否正確,如果是問號的話就轉換下
new String(request.getParameter("xm").getBytes("iso8859_1"),"gbk");
你這個是在Java裡面獲取的?request是JSP裡面的一個對象,在Java里就需要傳入一個HttpServletRequest實例了。
⑤ java怎麼將英文字母進行url編碼
Stringstr="I'mastring";
str=URLEncoder.encode(str,"UTF-8");
System.out.println(str);
⑥ javahttpclient怎麼設置url編碼
可以把你的這段代碼簡化一下<pre t="code" l="java"> ins = method.getResponseBodyAsStream();
byte[] b = new byte[1024];
int r_len = 0;
while ((r_len = ins.read(b)) > 0)
{
result.append(new String(b, 0, r_len, method.getResponseCharSet()));
}替換為:
<pre t="code" l="java">byte[] ba = method.getResponseBody();
String str= new String(ba,"UTF-8"); //得到指定編碼格式的字元串這里的str就是你的返回值。這段代碼我使用過,可以解決亂碼問題
⑦ 地址欄中有漢字,java如何利用對url編碼求解
地址欄中出現漢字的情況有兩種,一種是漢字出現在URL的路徑部分,一種是漢字出現在URL的傳參的部分,第二種情況的時候必須採用編碼後傳參,接受時解碼的方式完成傳參。js中編碼有escape(),encodeURI(),encodeURIComponent()三個常用的方法,escape()常常用在提交頁面和處理頁面的編碼格式相同的情況下(比如它們都是GB2312),encodeURI()和encodeURIComponent()的用法基本相同,區別在於encodeURIComponent()也對"?"等特殊字元進行編碼。
一開始遇到中文參數的時候,使用encodeURI()進行了一遍編碼,傳過去後,發現解碼出現問題,於是想到可能是編碼方法使用錯誤,於是使用escape()方法,這時發現解碼時拋出isHexDigit異常。藉助網路搜索isHexDigit異常,
發現原來,是escape()方法造成了異常,同時了解了瀏覽器傳遞地址的一些原理,在瀏覽器地址欄里,瀏覽器認為%是個轉義字元,瀏覽器會把%與%之間的編碼,兩位兩位取出後進行解碼,然後再傳遞給處理頁面,
然後由處理頁面進行再次解碼。由此我想到一直使用encodeURI方法是正確的,只是需要使用兩次encodeURI方法,例如encodeURI(encodeURI("中文"));第一次是把中文編碼成%xy的格式,
第二次是對%xy中的%進行編碼,%編碼成%25。整個傳參過程大體應該是:提交頁面使用encodeURI(encodeURI("中文"))編碼,把最後的編碼結果%25xy傳遞給處理頁面的過程中,瀏覽器獲取URL地址
(注意openModelDialog方法,瀏覽器獲取不到參數編碼)後解碼成%xy,然後把%xy傳遞給處理頁面,處理頁面使用URLDecoder.decode(request.getParameter("參數名"),"UTF-8");完成解碼。
總結:1、漢字出現在URL路徑部分的時候不需要編碼解碼;
⑧ 怎麼解決java中url亂碼
你具體指什麼時候亂碼?
大致猜測你的意思應該是URL被瀏覽器自動urlencode了吧?
在你需要用到URL的地方對它進行URLDECODE就可以了,jdk自帶URLDecoder類進行處理!
⑨ java url解碼 編碼格式會不會有影響
編碼格式是指字元集么,會有影響,有些字元在不同字元集的編碼不一樣,url編碼後自然不同,所以編碼和解碼要用相同的字元集(或者解碼的字元集兼容編碼的字元集)。
⑩ java的url編碼
URL編碼如果是英文和數字,輸出的當然相同了,要用符號或者漢字才能看到變化