Base64 could also be given a protected method that allows subclasses
to handle un-decodable characters. Default op is to do nothing.

protected void handleBadChar(char[] c, int position, other-stuff );

Paul

On Thu, Dec 3, 2009 at 3:38 PM, Julius Davies <[email protected]> wrote:
> Hi, Adam,
>
> It doesn't currently do that.  Also, Base64 seamlessly decodes
> URL_SAFE and REGULAR encodings, as well as mixes of the two, even
> though a mix or URL_SAFE and REGULAR would technically be invalid.
>
> I'm not a committer, but I could certainly put together a patch for a
> strict mode.  Something like this?
>
> 1.  If character is not whitespace, and is not valid, throw exception.
>
> 2.  If character is inappropriate for our current mode (URL_SAFE or
> REGULAR), throw exception.
>
> 3.  Note:  Personally I think it's too much trouble to detect weird
> things like === (technically only at most == should ever exist), or
> characters after ==.  What do you think?
>
>
> ps.  I'd probably do it as a subclass:  Base64Strict extends Base64
>
>
> yours,
>
> Julius
>
>
> On Thu, Dec 3, 2009 at 9:05 AM, Adam Rabung <[email protected]> wrote:
>> Hello,
>> Currently, Codec skips base64 characters that are outside of the
>> encode table.  I realize this is perfectly to spec, but I wonder if
>> other users might appreciate a "strict" mode that throws an exception
>> when one of these illegal characters are encountered.  For example, I
>> would love an exception to be thrown here:
>> new Base64().decode("!...@#$ iHaveIllegalCharsAtBeginningAndEnd %^&"));
>>
>> My apologies if I'm missing the point or if this functionality already 
>> exists,
>> Adam
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
>
> --
> yours,
>
> Julius Davies
> 250-592-2284 (Home)
> 250-893-4579 (Mobile)
> http://juliusdavies.ca/logging.html
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to