ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Servlet的decode函数可以解决奇偶问题(转)

Servlet的decode函数可以解决奇偶问题(转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-05-09 07:45:04 0 删除 编辑
public static String decode(String s)
<--ubbcodetab--> <--/ubbcodetab-->{
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->StringBuffer stringbuffer = new StringBuffer();
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->s = s.replace('%','0');
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->for(int i=1; i<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->{
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->if(s.charAt(i)=='+')
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->{
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->stringbuffer.append(' ');
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->i++;
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->continue;
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->}
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->try {
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->stringbuffer.append((char)Integer.parseInt(s.substring(i, i+2), 16));
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->} catch (Exception e) {
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->}
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->}
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->String s1 = stringbuffer.toString();
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->try
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->{
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->byte abyte0[] = s1.getBytes("ISO-8859-1");
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->s1 = new String(abyte0, "UTF-8");
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->}
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->catch(UnsupportedEncodingException unsupportedencodingexception) {}
<--ubbcodetab--> <--/ubbcodetab--><--ubbcodetab--> <--/ubbcodetab-->return s1;
<--ubbcodetab--> <--/ubbcodetab-->}


这个decode是我修改过了的, Servlet里面那个decode好像有问题,解不了奇数个的中文.

我这边在应用程序里面测试通过没有问题了.


但是不同的控制台可能输出结果不一样, 在网页上使用正常.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10294527/viewspace-125315/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    3481
  • 访问量
    3017972