commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <>
Subject [jira] Commented: (CODEC-73) Make string2byte conversions indepedent of platform default encoding
Date Mon, 14 Jul 2008 11:19:32 GMT


Sebb commented on CODEC-73:

Agreed that the default charset dependency needs to be removed.

However, I have an alternative suggestion:

In the case of the Hex encode() method, one could completely avoid the need to use getBytes()
by using a byte[] array for the conversion.

Likewise, I think the Hex decode() could just be performed on bytes rather than converting
to char first.

Patch to follow.

> Make string2byte conversions indepedent of platform default encoding
> --------------------------------------------------------------------
>                 Key: CODEC-73
>                 URL:
>             Project: Commons Codec
>          Issue Type: Bug
>    Affects Versions: 1.3
>         Environment: any platform whose default encoding is not a superset of ASCII,
e.g. UTF-16 or EBCDIC
>            Reporter: Benjamin Bentmann
>         Attachments: CODEC-73.patch
> Both the library itself and many of its tests are utterly dependent on the JVM's default
charset. For example, {{DigestUtils}} calls {{String.getBytes()}} to convert an input string
to a byte array, happily delivering different digests for the same input string if run on
different platforms.
> If you want to try out the havor yourself, just run the unit tests in a JVM with UTF-16,
e.g. by adding the line
> {code:xml}
> <argLine>-Dfile.encoding=UTF-16</argLine>
> {code}
> to the configuration of the Surefire Plugin in the POM.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message