如何用Java实现URLEncode
3个回答
展开全部
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由哪几个方面组成?
展开全部
String encode = URLEncoder.encode("GBK编码", "GBK");
System.out.println("乱码" + encode);
String decode = URLDecoder.decode(encode, "GBK");// GBK解码
System.out.println(decode);
System.out.println("乱码" + encode);
String decode = URLDecoder.decode(encode, "GBK");// GBK解码
System.out.println(decode);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-03-25 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
无需用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,百度
用法如下:
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,百度
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询