如何用Java实现URLEncode

如何用Java实现URLEncode,第1张

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] = "%" + Stringformat("%02x",i)toUpperCase();

}

}

}

public String urlEncode(final String sourceStr)

{

final StringBuilder sb = new StringBuilder();

for(int i=0;i<sourceStrlength;i++)

{

sbappend(encodeTable[sourceStrcharAt(i) && 0xFF]);

}

}

Java由哪几个方面组成?

Java编程语言,即语法。

Java文件格式,即各种文件夹、文件的后缀。

Java虚拟机(JVM),即处理class文件的解释器。

Java应用程序接口(Java API)。

URLEncode方法是把任何我们给出的参数转换成适合放在URL中的字符串。具体规则:

1。字母,数字,连字符不变。

2。空格转换成加号。

3。其他所有的字符转换成用百分号表示,后跟字符的两位十六进制编码。

URLDecode功能相反。

例子:

String param = requestgetParameter("userName"); // param:%E5%AD%99%E6%82%9F%E7%A9%BA1

String userName = URLDecoderdecode(param, "UTF-8"); // 孙悟空1

urlEncode

userName // 孙悟空1

String url = URLEncoderencode(userName, "UTF-8"); //%E5%AD%99%E6%82%9F%E7%A9%BA1

这样就很清楚了,urlencode是转码,urldecode是解码

先把自己的小程序和公众号做关联。公众号菜单打开小程序的设置。

1、获取小程序的wxappid和页面路径。

2、对小程序页面路径进行UrlEncode编码。

3、拼接小程序跳转路径。

4、登录推券客官网,设置公众号菜单。

urllib 库里面有个 urlencode 函数,可以把 key-value 这样的键值对转换成我们想要的格式,返回的是 a=1&b=2 这样的字符串,比如:

结果如下:

如果只想对一个字符串进行 urlencode 转换,怎么办? urllib 提供另外一个函数: quote()

输出结果为:

当 urlencode 之后的字符串传递过来之后,接受完毕就要解码了—— urldecode 。 urllib 提供了 unquote() 这个函数,可没有 urldecode() !

输出结果为:

ServerUrlDecode();

ServerUrlEncode();

是两个成对的方法

作用是在URL传参时如果直接传中文可能会出问题(对中文参数支持部完善),所以先用 ServerUrlEncode("中文参数");编码

到另外一个页面接受的时候在用ServerUrlDecode("编码后参数一般为 %+ 16进制数的形式");解码获取中文参数。

楼主加油

以上就是关于如何用Java实现URLEncode全部的内容,包括:如何用Java实现URLEncode、怎么将字符串转码成urlencode的形式、解决公众号只能关联3个不同主体的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9804953.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存