RFR: 8170769 Provide a simple hexdump facility for binary data
Vincent Ryan
vincent.x.ryan at oracle.com
Sat Dec 8 01:18:16 UTC 2018
Here’s the latest version that addresses all the current open issues:
webrev: http://cr.openjdk.java.net/~vinnie/8170769/webrev.07/ <http://cr.openjdk.java.net/~vinnie/8170769/webrev.07/>
javadoc: http://cr.openjdk.java.net/~vinnie/8170769/javadoc.07/api/java.base/java/util/HexFormat.html <http://cr.openjdk.java.net/~vinnie/8170769/javadoc.07/api/java.base/java/util/HexFormat.html>
CSR: https://bugs.openjdk.java.net/browse/CCC-8170769 <https://bugs.openjdk.java.net/browse/CCC-8170769>
> On 7 Dec 2018, at 19:51, Vincent Ryan <vincent.x.ryan at oracle.com> wrote:
>
> Even shorter. I’ll add that instead.
> Thanks.
>
>> On 7 Dec 2018, at 19:04, Roger Riggs <Roger.Riggs at oracle.com> wrote:
>>
>> Hi,
>>
>> I don't think this is performance sensitive and less code is better.
>>
>> Use java.lang.Character.digit(ch, 16) to convert the char to an int.
>>
>> Roger
>>
>> On 12/07/2018 01:49 PM, Kasper Nielsen wrote:
>>> Hi,
>>>
>>> I don't know if performance is an issue. But if it is, I think it world
>>> make sense to use a precompute array. And replace
>>>
>>> private static int hexToBinary(char ch) {
>>> if ('0' <= ch && ch <= '9') {
>>> return ch - '0';
>>> }
>>> if ('A' <= ch && ch <= 'F') {
>>> return ch - 'A' + 10;
>>> }
>>> if ('a' <= ch && ch <= 'f') {
>>> return ch - 'a' + 10;
>>> }
>>> return -1;
>>> }
>>>
>>> with
>>>
>>> private static int hexToBinary(char ch) {
>>> return ch <= 'f' ? staticPrecomputedArray[ch] : -1;
>>> }
>>>
>>> where int[] staticPrecomputedArray is computed in a static initializer
>>> block.
>>>
>>> /Kasper
>>>
>>> On Fri, 23 Nov 2018 at 14:51, Vincent Ryan <vincent.x.ryan at oracle.com>
>>> wrote:
>>>
>>>> Hello,
>>>>
>>>> Please review this proposal for a new API to conveniently generate and
>>>> display binary data using hexadecimal string representation.
>>>> It supports both bulk and stream operations and it can also generate the
>>>> well-known hexdump format [1].
>>>>
>>>> This latest revision addresses review comments provided earlier.
>>>> These include adding methods to support for data supplied in a
>>>> ByteBuffer, exposing the default formatter implementation as a public
>>>> static and dropping the superfluous 'Hex' term from several method names.
>>>>
>>>> Thanks
>>>>
>>>>
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8170769
>>>> API:
>>>>
>>>> http://cr.openjdk.java.net/~vinnie/8170769/javadoc.06/api/java.base/java/util/Hex.html
>>>> Webrev: http://cr.openjdk.java.net/~vinnie/8170769/webrev.06/
>>>>
>>>>
>>>> ____
>>>> [1] https://docs.oracle.com/cd/E88353_01/html/E37839/hexdump-1.html
>>>>
>>
>
More information about the core-libs-dev
mailing list