RFR 8251989: Hex formatting and parsing

Roger Riggs Roger.Riggs at oracle.com
Thu Sep 3 20:13:49 UTC 2020


Hi Douglas,

I think you answered your own question at the outset. (with the API as 
it stands).

Are there current hex formatting in code you are aware of that already uses
prefixes or suffixes on each byte?

I'm evauating whether there is consensus to change the semantics of 
prefix and suffix.

Thanks, Roger


On 9/2/20 6:12 PM, Douglas Surber wrote:
> I still want to know how to format a byte sequence where each byte has a prefix (or suffix).
>
> Eg.
>
> 	{ 0x00, 0x01, 0x02, 0xOD, 0x0E, 0x0F }
>
> Douglas
>
>> On Sep 2, 2020, at 2:26 PM, core-libs-dev-request at openjdk.java.net wrote:
>>
>> Date: Wed, 2 Sep 2020 16:26:07 -0400
>> From: Roger Riggs <Roger.Riggs at oracle.com <mailto:Roger.Riggs at oracle.com>>
>> To: core-libs-dev <core-libs-dev at openjdk.java.net <mailto:core-libs-dev at openjdk.java.net>>
>> Subject: RFR 8251989: Hex formatting and parsing
>> Message-ID: <180eca84-19fe-2dc4-9e57-1d05328e1c7b at oracle.com <mailto:180eca84-19fe-2dc4-9e57-1d05328e1c7b at oracle.com>>
>> Content-Type: text/plain; charset=utf-8; format=flowed
>>
>> Please review the updated API in the Javadoc.
>> http://cr.openjdk.java.net/~rriggs/hex-formatter/java.base/java/util/Hex.html <http://cr.openjdk.java.net/~rriggs/hex-formatter/java.base/java/util/Hex.html>
>>
>> A few offline contacts encouaged me to explore expanding the support
>> for formatting and parsing of primitive types.
>> Adding formatting toHex methods and [arsing fromHex methods makes the
>> API easier to use.
>>
>> For example, there are a number of protocols that need to escape char
>> values
>> as hex. For symmetry across the primitive types, byte, char, short, int,
>> and long
>> methods are added.
>>
>> The handling of invalid digits was changed to consistently throw
>> IllegalArgumentException; it is unlikely that encoding and decoding
>> run into invalid characters and the previous technique requiring the caller
>> to check the value for negative numbers is error prone.
>>
>> There is some danger of proliferating methods yet, so not all combinations
>> are included.? Feedback welcome.
>>
>> With the API still shifting, the implemention is not ready to review.
>>
>> Thanks, Roger
>>



More information about the core-libs-dev mailing list