Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Stanimir Stamenkov Newsgroups: comp.lang.java.programmer Subject: Re: [LONG] java.net.URI encoding weirdness Date: Tue, 06 May 2014 23:04:33 +0300 Organization: A noiseless patient Spider Lines: 39 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 6 May 2014 20:04:32 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="daaaf033c96883e83e80378381c6380d"; logging-data="18116"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/tgYyBwG3N+Bybg/GHYYRv" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 SeaMonkey/2.26 In-Reply-To: X-Face: "@)%Vlap6d%OVYDS}B4YUWE@yUy+^!w/+.q.,c5kjI#+uG?kYP&r/pTjNWgo:g[A,O=AL3/ j&4Le2cau$ plainly broken. Not just this one, but all except URI(String) are broken (that's what I've demonstrated in my OP). As they are not working correctly with almost every data which needs to be percent encoded, I think they should just accept encoded data and not perform additional encoding, apart from encoding the separator characters which distinguish them from the other components. Again, here's the relevant "When to Encode or Decode" section from the "URI: Generic Syntax" specification: http://tools.ietf.org/html/rfc3986#section-2.4 The URI class may continue to provide decoded component values for the cases one doesn't need to parse further into them, but then the safest way would be for the constructors to accept encoded values. All of: schemeSpecificPart authority path query should not be decoded before being actually dereferenced. -- Stanimir