commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lilianne E. Blaze (JIRA)" <j...@apache.org>
Subject [jira] Created: (LANG-341) [NumberUtils] Please add number <> byte[] methods
Date Thu, 21 Jun 2007 06:57:26 GMT
[NumberUtils] Please add number <> byte[] methods
-------------------------------------------------

                 Key: LANG-341
                 URL: https://issues.apache.org/jira/browse/LANG-341
             Project: Commons Lang
          Issue Type: New Feature
            Reporter: Lilianne E. Blaze


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:


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);
  }

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


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message