[ 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 <yurelle.gam...@gmail.com> 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)