Re: [Winstone-devel] WinstoneRequest.decodeURLToken
Status: Beta
Brought to you by:
rickknowles
From: Rick K. <ri...@kn...> - 2008-09-05 02:38:04
|
Thanks - I added this into CVS. This is a good patch. Regards, Rick rob...@rd... wrote: > i enhanced WinstoneRequest.decodeURLToken(String in) to handle unicode char entities: > > public static String decodeURLToken(String in) { > int len = in.length(); > StringBuffer workspace = new StringBuffer(len); > for (int n = 0; n < len; n++) { > char thisChar = in.charAt(n); > if (thisChar == '+') > workspace.append(' '); > else if (thisChar == '%') { > String token = ""; > int inc = 2, beg = 1, end = 3; > if (n+1<len&&in.charAt(n+1)=='u') { > beg = 2; > end = 6; > inc = 5; > } > token = in.substring(Math.min(n + beg, len), Math.min(n + end, len)); > try { > workspace.append((char)(Integer.parseInt(token, 16))); > n += inc; > } catch (RuntimeException err) { > Logger.log(Logger.WARNING, Launcher.RESOURCES, "WinstoneRequest.InvalidURLTokenChar", token); > workspace.append(thisChar); > } > } > else > workspace.append(thisChar); > } > return workspace.toString(); > } > > bob > |