URL中的字符只能是ASCII字符,但是ASCII字符比较少,而URL则常常包含ASCII字符集以外的字符,如非英语字符、汉字、特殊符号等等,所以要对URL进行转换。这个过程就叫做URL编码,或者叫URL转义,实质上就是将包含非ASCII字符的URL转换为有效的ASCII字符格式。
在进行URL编码时,每一个非ASCII字符都被替换为“%hh”格式,其中hh为两位十六进制数,它对应于该字符在ISO-8859-1字符集里的编码值。比如“中国”这两个汉字出现在URL,就要将他们转为“%D6%D0%B9%FA”,由于一个汉字需要两个字节,所以“中国”被替换成了四个ASCII字符。
public static void main(String[] args) throws UnsupportedEncodingException{ String s = "zhaoxiaofnag%40eims.com.cn "; s=URLDecoder.decode(s,"utf-8"); System.out.println(s); String china = "%31%32%36%2E%61%6D/hEeGv4"; china = URLDecoder.decode(china,"utf-8"); System.out.println(china); }
另附上ASCII字符与URL编码的对照表。ASCII字符 URL编码空格 %20! %21" %22# %23$ %24% %25& %26' %27( %28) %29* %2A+ %2B, %2C- %2D. %2E/ %2F0 %301 %312 %323 %334 %345 %356 %367 %378 %389 %39: %3A; %3B< %3C = %3D > %3E? %3F@ %40A %41B %42C %43D %44E %45F %46G %47H %48I %49J %4AK %4BL %4CM %4DN %4EO %4FP %50Q %51R %52S %53T %54U %55V %56W %57X %58Y %59Z %5A[ %5B\ %5C] %5D^ %5E_ %5F` %60a %61b %62c %63d %64e %65f %66g %67h %68i %69j %6Ak %6Bl %6Cm %6Dn %6Eo %6Fp %70q %71r %72s %73t %74u %75v %76w %77x %78y %79z %7A{ %7B| %7C} %7D~ %7E%7F€ %80%81‚ %82ƒ %83„ %84… %85† %86‡ %87ˆ %88‰ %89Š %8A‹ %8BŒ %8C%8DŽ %8E%8F%90‘ %91’ %92“ %93” %94• %95– %96— %97˜ %98™ %99š %9A› %9Bœ %9C%9Dž %9EŸ %9F%A0¡ %A1¢ %A2£ %A3%A4¥ %A5| %A6§ %A7¨ %A8© %A9ª %AA« %AB¬ %AC¯ %AD® %AE¯ %AF° %B0± %B1² %B2³ %B3´ %B4µ %B5¶ %B6· %B7¸ %B8¹ %B9º %BA» %BB¼ %BC½ %BD¾ %BE¿ %BFÀ %C0Á %C1 %C2à %C3Ä %C4Å %C5Æ %C6Ç %C7È %C8É %C9Ê %CAË %CBÌ %CCÍ %CDÎ %CEÏ %CFÐ %D0Ñ %D1Ò %D2Ó %D3Ô %D4Õ %D5Ö %D6%D7Ø %D8Ù %D9Ú %DAÛ %DBÜ %DCÝ %DDÞ %DEß %DFà %E0á %E1â %E2ã %E3ä %E4å %E5æ %E6ç %E7è %E8é %E9ê %EAë %EBì %ECí %EDî %EEï %EFð %F0ñ %F1ò %F2ó %F3ô %F4õ %F5ö %F6÷ %F7ø %F8ù %F9ú %FAû %FBü %FCý %FDþ %FEÿ %FF
今天的文章URL转义_url encode编码转换分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/72575.html