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个不同主体的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)