escape 格式的編碼 的解碼方式

2021-10-25 07:28:54 字數 1334 閱讀 6581

escape採用iso latin字符集對指定的字串進行編碼。所有的空格符、標點符號、特殊字元以及其他非ascii字元都將被轉化成%xx格式的字元編碼(xx等於該字元在字符集表裡面的編碼的16進製制數字)。

escape/unescape加密解碼/編碼解碼,又叫%u編碼,從以往經驗看編碼字串出現有"u",它是unicode編碼,那麼escape編碼採用是那一種unicode實現形式呢。其實是utf-16be模式。這樣一來問題非常簡單了。escape編碼/加密,就是字元對應utf-16 16進製表示方式前面加%u。unescape解碼/解密,就是去掉"%u"後,將16進製制字元還原後,由utf-16轉碼到自己目標字元。如:字元「中」,utf-16be是:「6d93」,因此escape是「%u6d93」,反之也一樣!因為目前%字元,常用作url編碼,所以%u這樣編碼已經逐漸被廢棄了

可以使用  stringescapeutils 工具類解碼

public static void main(string args)
有一組 字元 string ss = "%u5179",特點是 以%u開頭,後接四位16進製制數字該字元是4個數字表示乙個字元。

或者是%開頭,後接 //數字//小寫字母//大寫字母

轉換方式:

public static void main(string args) throws unsupportedencodingexception 

public static string escape(string src) else

}return tmp.tostring();

}public static string unescape(string src) else

} else else }}

return tmp.tostring();

}/**

* @disc 對字串重新編碼

* @param src

* @return

*/public static string isotogb(string src) catch (exception e)

return strret;

}/**

* @disc 對字串重新編碼

* @param src

* @return

*/public static string isotoutf(string src) catch (exception e)

return strret;

}

URL的編碼 解碼

通常如果一樣東西需要編碼,說明這樣東西並不適合傳輸。原因多種多樣,如size過大,包含隱私資料。對於url來說,之所以要進行編碼,是因為url中有些字元會引起歧義。例如,url引數字串中使用key value鍵值對這樣的形式來傳參,鍵值對之間以 符號分隔,如 s?q abc ie utf 8。如果你...

String字串編碼解碼格式

string.getbytes 方法是得到乙個作業系統預設的編碼格式的位元組陣列。string.getbytes string decode 方法會根據指定的decode編碼返回某字串在該編碼下的byte陣列表示 newstring byte b,string decode 按照指定的方法編碼正常的...

JS的編碼 解碼及C 中對應的解碼 編碼

1 escape 定義和用法 escape對字串資料編碼,如果是對url進行編碼必須用encodeuri或是encodeurlcomponent,解碼使用 unescape。返回值 字符集是unicode,編碼成16進製制。說明 不編碼字元有69個 特殊符號 數字及字母 0 9,a z,a z c ...