[
https://issues.apache.org/jira/browse/LANG-341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15698634#comment-15698634
]
ASF GitHub Bot commented on LANG-341:
-------------------------------------
GitHub user yurelle opened a pull request:
https://github.com/apache/commons-lang/pull/219
LANG-341: Add number to byte array methods to
org.apache.commons.lang3.Conversion
LANG-341: Add number to byte array methods to
org.apache.commons.lang3.Conversion
- Add toPrimitive(byte[]) and toByteArray(primitive) functions
- Add hexToPrimitive(String) and toHex(primitive) functions
- Add bitString functions
- Add invertBitOrder() functions
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/yurelle/commons-lang
LANG-341_AddNumToByteArrayMethods
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/commons-lang/pull/219.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #219
----
commit d55aa3ff4e2953d372b97023ce75af04ffb8ae1e
Author: yurelle <[email protected]>
Date: 2016-11-26T22:38:08Z
LANG-341: Add number to byte array methods to
org.apache.commons.lang3.Conversion
- Add toPrimitive(byte[]) and toByteArray(primitive) functions
- Add hexToPrimitive(String) and toHex(primitive) functions
- Add bitString functions
- Add invertBitOrder() functions
----
> Add number to byte array methods
> --------------------------------
>
> Key: LANG-341
> URL: https://issues.apache.org/jira/browse/LANG-341
> Project: Commons Lang
> Issue Type: New Feature
> Components: lang.*
> Reporter: Lilianne E. Blaze
> Fix For: Discussion
>
> Attachments: 341-v1-src.patch, 341-v1-test.patch, LANG-341-2.patch,
> LANG-341.patch
>
>
> Hello,
> I need a set of methods to convert Long to or from a byte[] array, as if
> writing / reading from Data(Input/Output)Stream(
> ByteArray(Input/Output)Stream ).
> First, doing it with Streams seems a bit wasteful, second, it seems a
> pretty general use. Would it be possible to add something like that to,
> for example,
> org.apache.commons.lang.math.NumberUtils?
> Example code:
> {code:java}
> static public long toLong(byte[] b)
> {
> return toLong(b, 0);
> }
>
> static public long toLong(byte[] b, int offset)
> {
> return (((long)b[offset] << 56) +
> ((long)(b[offset + 1] & 255) << 48) +
> ((long)(b[offset + 2] & 255) << 40) +
> ((long)(b[offset + 3] & 255) << 32) +
> ((long)(b[offset + 4] & 255) << 24) +
> ((b[offset + 5] & 255) << 16) +
> ((b[offset + 6] & 255) << 8) +
> ((b[offset + 7] & 255) << 0));
> }
>
> static public byte[] longToByteArray(long l)
> {
> byte b[] = new byte[8];
> longToByteArray(l, b, 0);
> return b;
> }
>
> static public void longToByteArray(long l, byte b[], int offset)
> {
> b[offset] = (byte)(l >>> 56);
> b[offset + 1] = (byte)(l >>> 48);
> b[offset + 2] = (byte)(l >>> 40);
> b[offset + 3] = (byte)(l >>> 32);
> b[offset + 4] = (byte)(l >>> 24);
> b[offset + 5] = (byte)(l >>> 16);
> b[offset + 6] = (byte)(l >>> 8);
> b[offset + 7] = (byte)(l >>> 0);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)