導航:首頁 > 編程語言 > javaurl解碼

javaurl解碼

發布時間:2022-09-21 13:40:38

java中編碼與解碼分別指什麼

java中編碼:URLEncoder.encode(strUri,"utf-8");

java中解碼碼:URLDecoder.decode(strUri,"utf-8");

② 用java獲取URL路徑時出現非法字元

經常會在瀏覽器的地址欄里看到這樣的字元串%E6%96%87%E6%A1%A3
這就是被編碼後的字元串,下面就討論一下java 的url編碼與解碼問題

java.net.URLDecoder.decode(String s,String enc);
將application/x-www-form-urlencoded字元串轉換成普通字元串。

java.net.URLEncoder.decode(String s,String enc);
將普通字元串轉換成application/x-www-form-urlencoded字元串

代碼示例:

import java.net.URLDecoder;

import java.net.URLEncoder;

public class URLDecoderTest {

public static void main(String[] args) throws Exception {
//將application/x-www-form-urlencoded字元串

//轉換成普通字元串

//必須強調的是編碼方式必須正確,如的是gb2312,而google的是UTF-8

String keyWord = URLDecoder.decode("%E6%96%87%E6%A1%A3", "gb2312");
System.out.println(keyWord);
//將普通字元串轉換成

//application/x-www-form-urlencoded字元串

//必須強調的是編碼方式必須正確,如的是gb2312,而google的是UTF-8

String urlStr = URLEncoder.encode("文檔", "gb2312");

System.out.println(urlStr);
}
}

③ java url 轉碼

你這是從Servlet中取參然後在界面顯示是吧,JSP這個你設置的沒:<%@page pageEncoding="utf-8" contentType="utf-8" %>
以及request,response的設置:
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
希望對你能有所幫助。

④ 如何用Java實現URLEncode

用Java實現URLEncode的方法是引入java.net.URLEncoder包。
java.net.URLDecoder.decode(String s,String enc);
將application/x-www-form-urlencoded字元串轉換成普通字元串。

java.net.URLEncoder.decode(String s,String enc);
將普通字元串轉換成application/x-www-form-urlencoded字元串

URLEncoder類包含將字元串轉換為application/x-www-form-urlencoded MIME 格式的靜態方法。
web 設計者面臨的眾多難題之一便是怎樣處理不同操作系統間的差異性。這些差異性能引起URL方面的問題:例如,一些操作系統允許文件名中含有空格符,有些又不允許。大多數操作系統不會認為文件名中含有符號「#」會有什麼特殊含義;但是在一個URL中,符號「#」表示該文件名已經結束,後面會緊跟一個 fragment(部分)標識符。其他的特殊字元,非字母數字字元集,它們在URL或另一個操作系統上都有其特殊的含義,表述著相似的問題。為了解決這些問題,我們在URL中使用的字元就必須是一個ASCII字元集的固定字集中的元素,具體如下:

1.大寫字母A-Z
2.小寫字母a-z
3.數字 0-9
4.標點符 - _ . ! ~ * ' (和 ,)

諸如字元: / & ? @ # ; $ + = 和 %也可以被使用,但是它們各有其特殊的用途,如果一個文件名包括了這些字元( / & ? @ # ; $ + = %),這些字元和所有其他字元就應該被編碼。

編碼過程非常簡單,任何字元只要不是ASCII碼數字,字母,或者前面提到的標點符,它們都將被轉換成位元組形式,每個位元組都寫成這種形式:一個「%」後面跟著兩位16進制的數值。空格是一個特殊情況,因為它們太平常了。它除了被編碼成「%20」以外,還能編碼為一個「+」。加號(+)本身被編碼為%2B。當/ # = & 和?作為名字的一部分來使用時,而不是作為URL部分之間的分隔符來使用時,它們都應該被編碼。

WARNING這種策略在存在大量字元集的異構環境中效果不甚理想。例如:在U.S. Windows 系統中, é 被編碼為 %E9. 在 U.S. Mac中被編碼為%8E。這種不確定性的存在是現存的URI的一個明顯的不足。所以在將來URI的規范當中應該通過國際資源標識符(IRIs)進行改善。

⑤ java URL請求亂碼

對請求參數的value做URLEncode.encode編碼設置,或者服務端需要解碼URLDecoder.decode

⑥ 如何用Java實現URLEncode

用Java實現URLEncode的方法是引入java.net.URLEncoder包。
java.net.URLDecoder.decode(String s,String enc);
將application/x-www-form-urlencoded字元串轉換成普通字元串。

java.net.URLEncoder.decode(String s,String enc);
將普通字元串轉換成application/x-www-form-urlencoded字元串

URLEncoder類包含將字元串轉換為application/x-www-form-urlencoded MIME 格式的靜態方法。
web 設計者面臨的眾多難題之一便是怎樣處理不同操作系統間的差異性。這些差異性能引起URL方面的問題:例如,一些操作系統允許文件名中含有空格符,有些又不允許。大多數操作系統不會認為文件名中含有符號「#」會有什麼特殊含義;但是在一個URL中,符號「#」表示該文件名已經結束,後面會緊跟一個 fragment(部分)標識符。其他的特殊字元,非字母數字字元集,它們在URL或另一個操作系統上都有其特殊的含義,表述著相似的問題。為了解決這些問題,我們在URL中使用的字元就必須是一個ASCII字元集的固定字集中的元素,具體如下:

1.大寫字母A-Z
2.小寫字母a-z
3.數字 0-9
4.標點符 - _ . ! ~ * ' (和 ,)

諸如字元: / & ? @ # ; $ + = 和 %也可以被使用,但是它們各有其特殊的用途,如果一個文件名包括了這些字元( / & ? @ # ; $ + = %),這些字元和所有其他字元就應該被編碼。

編碼過程非常簡單,任何字元只要不是ASCII碼數字,字母,或者前面提到的標點符,它們都將被轉換成位元組形式,每個位元組都寫成這種形式:一個「%」後面跟著兩位16進制的數值。空格是一個特殊情況,因為它們太平常了。它除了被編碼成「%20」以外,還能編碼為一個「+」。加號(+)本身被編碼為%2B。當/ # = & 和?作為名字的一部分來使用時,而不是作為URL部分之間的分隔符來使用時,它們都應該被編碼。

WARNING這種策略在存在大量字元集的異構環境中效果不甚理想。例如:在U.S. Windows 系統中, é 被編碼為 %E9. 在 U.S. Mac中被編碼為%8E。這種不確定性的存在是現存的URI的一個明顯的不足。所以在將來URI的規范當中應該通過國際資源標識符(IRIs)進行改善。

⑦ 如何用Java實現URLEncode

Java使用查表法實現一下urlEncode(RFC1738):

public final static String[] encodeTable = new String[2^8];
static{
for(int i=0;i<256;i++)
{
if(i>='0' && i<='9' || i>='a'&&i<='z' || i>='A' && i<='Z' ||| i=='-' || i=='_' || i=='.')
{
encodeTable[i] = (char)i + "";
}else
{
encodeTable[i] = "%" + String.format("%02x",i).toUpperCase();
}
}
}

public String urlEncode(final String sourceStr)
{
final StringBuilder sb = new StringBuilder();
for(int i=0;i<sourceStr.length;i++)
{
sb.append(encodeTable[sourceStr.charAt(i) && 0xFF]);
}
}

⑧ 在java中%c0%ae經過url解碼為什麼會變成

URLEncoder.encode(URLEncoder.encode(request.getRequestURI(),"GBK"));再解碼試試!!

⑨ JAVA如何對URL進行加密和解密啊

url是直接顯示在地址欄中的,這個無法加密,但是可以用https安全套接字,安裝服務端證書。如果你不想別人看到某個地址,你可以用request.setRequestDispacher("*/.jsp").forword(request,response);我不知道拼對沒有,自己多網上搜下。

⑩ java簡訊的url怎麼處理中文亂碼怎麼處理

1、在客戶端用escape(encodeURIComponent(fieldValue))方法編碼,例如:

復制代碼代碼如下:

title=escape(encodeURIComponent(title)); //這是js里的函數

url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;

2、在服務端用java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8"),進行解碼。

-----------------------------------------------------------------------------
parent.window.location.href 和 iframe中src的亂碼問題。
要在這兩個url地址中傳中文,必須加編碼,然後再解碼。
編碼:encodeURI(encodeURI("包含中文的串"))
解碼:java.net.URLDecoder.decode("需要解碼的串","utf-8");

閱讀全文

與javaurl解碼相關的資料

熱點內容
php備案號 瀏覽:986
php視頻水印 瀏覽:163
怎麼追程序員的女生 瀏覽:485
空調外壓縮機電容 瀏覽:77
怎麼將安卓變成win 瀏覽:457
手機文件管理在哪兒新建文件夾 瀏覽:724
加密ts視頻怎麼合並 瀏覽:775
php如何寫app介面 瀏覽:804
宇宙的琴弦pdf 瀏覽:396
js項目提成計算器程序員 瀏覽:944
pdf光子 瀏覽:834
自拍軟體文件夾名稱大全 瀏覽:328
程序員留學移民 瀏覽:52
梁中間部位箍筋加密區 瀏覽:119
頻譜分析pdf 瀏覽:752
樂2怎麼升級安卓70 瀏覽:174
java中獲取日期 瀏覽:508
單片機74hc245 瀏覽:274
美國歷史上的總統pdf 瀏覽:753
程序員脫單實驗室靠不靠譜 瀏覽:460