如何用Java实现URLEncode
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用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由哪几个方面组成?
Java编程语言,即语法。
Java文件格式,即各种文件夹、文件的后缀。
Java虚拟机(JVM),即处理*.class文件的解释器。
Java应用程序接口(Java API)。
System.out.println("乱码" + encode);
String decode = URLDecoder.decode(encode, "GBK");// GBK解码
System.out.println(decode); 参考技术B 无需用Java实现URLEncode,jdk有已经实现了。
用法如下:
String urlStr = java.net.URLEncoder.encode("hello,百度", "GBK");
输出urlStr:%C8%CE%BA%F0%B2%F0%B0%A1
String keyWord = java.net.URLDecoder.decode("%C8%CE%BA%F0%B2%F0%B0%A1
", "GBK");
输出keyWord:hello,百度
以上是关于如何用Java实现URLEncode的主要内容,如果未能解决你的问题,请参考以下文章