最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

java中編碼與解碼分別指什么?

java中編碼與解碼分別指什么?

鳳凰求蠱 2019-02-14 15:11:09
java中編碼與解碼分別指什么?
查看完整描述

2 回答

?
守著星空守著你

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊

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

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

java編碼和解碼          

  1. 流讀取文件,具有轉(zhuǎn)換編碼功能的有:OutputStreamWriter和InputStreamReader,

    構(gòu)造器有如:

    InputStreamReader(InputStream in, String charsetName)

    創(chuàng)建使用指定字符集的 InputStreamReader。

    OutputStreamWriter(OutputStream out, String charsetName)

    創(chuàng)建使用指定字符集的 OutputStreamWriter。

  2. 處理字符串編碼問(wèn)題:

    重新對(duì)獲取的字符串進(jìn)行編碼:Byte[] bytes = str.getBytes(String encodeCharsetNam);

    重新對(duì)bytes進(jìn)行解碼,創(chuàng)建新的字符串對(duì)象:str = new String(Byte[] bytes,String decodeCharsetName);

    一般結(jié)合使用:str = new String(str.getBytes(String encodeCharsetName),String decodeCharsetName);

    例如:resultName=new String(username.getBytes("ISO-8859-1"),"UTF-8");

    還可以加入判斷:

    if(!Charset.forName("gbk").newEncoder().canEncode(str)){str = new Strin(str.getBytes("ISO-8859-1"),"UTF-8");}else{str = new String(str.getBytes("ISO-8859-1"),"gbk");}

  3. 處理請(qǐng)求參數(shù)傳遞編碼問(wèn)題:

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

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

    js中編碼:encodeURIComponent(strUri);encodeURI(strUri);escape(str);

    js中解碼:decodeURIComponent(strUri);decodeURI(strUri);unescape(str);

  4. 補(bǔ)充概念

    • URI組件:主機(jī)、端口、路徑、查詢(xún)參數(shù)、片段等。

    • URI組件分隔符::/?#&[]@,冒號(hào)用于分隔協(xié)議和主機(jī),/用于分隔主機(jī)和 路徑,?用于分隔路徑和查詢(xún)參數(shù),&用于分隔多個(gè)查詢(xún)參數(shù)等。

    • URI中的不安全字符或保留字符: ! * ‘ ( ) ; : @ & = + $ , / ? # [ ] 他們具有特殊作用,例如上面的分隔作用。

    • URI允許出現(xiàn)的字符:只允許包含英文字母(a-zA-Z)、數(shù)字(0-9)、-_.~4個(gè)特殊字符以及所有保留字符,其他字符均需要經(jīng)過(guò)編碼之后才能出現(xiàn)在Url中,比如使用保留字符的原意,而不是特殊作用。




    js向java/jsp的編碼與解碼:

    • js中編碼:encodeURI(encodeURI(strUri));decodeURIComponent(decodeURIComponent(strUri));

    • java/jsp中解碼: java.net.URLDecoder.decode(strUri,"UTF-8");

    • js中編碼兩次的問(wèn)題:如果使用一次編碼,在瀏覽器地址欄里,瀏覽器認(rèn)為%是個(gè)轉(zhuǎn)義字符,瀏覽器會(huì)把%與%之間的編碼值,兩位兩位取出后進(jìn)行解碼。

    • 然后再傳遞給處理頁(yè)面,然后由處理頁(yè)面進(jìn)行再次解碼,這樣前面就缺少了一次編碼過(guò)程,所以前面需要連續(xù)兩次編碼。




查看完整回答
反對(duì) 回復(fù) 2019-03-03
  • 2 回答
  • 0 關(guān)注
  • 861 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)