java.lang.Object
org.firebirdsql.gds.VaxEncoding
Helper methods for decoding Vax style (little endian) integers as used by Firebird from byte arrays.
- Since:
- 3.0
- Author:
- Mark Rotteveel
-
Method Summary
Modifier and TypeMethodDescriptionstatic int
Decodes an integer using two byte Vax encoding from an input stream, without length prefix.static void
encodeVaxInteger
(byte[] buf, int off, int val) Encodes an integer using Vax encoding intobuf
, length prefix is included.static void
encodeVaxInteger
(OutputStream out, int val) Encodes an integer using Vax encoding into an output stream, length prefix is included.static void
encodeVaxInteger2WithoutLength
(byte[] buf, int off, int val) Encodes an integer using two byte Vax encoding intobuf
, without length prefix.static void
encodeVaxInteger2WithoutLength
(OutputStream out, int val) Encodes an integer using two byte Vax encoding into an output stream, without length prefix.static void
encodeVaxIntegerWithoutLength
(byte[] buf, int off, int val) Encodes an integer using Vax encoding intobuf
, without length prefix.static void
encodeVaxIntegerWithoutLength
(OutputStream out, int val) Encodes an integer using Vax encoding into an output stream, without length prefix.static void
encodeVaxLong
(byte[] buf, int off, long val) Encodes a long using Vax encoding intobuf
, length prefix is included.static void
encodeVaxLong
(OutputStream out, long val) Encodes a long using Vax encoding into an output stream, length prefix is included.static void
encodeVaxLongWithoutLength
(byte[] buf, int off, long val) Encodes a long using Vax encoding intobuf
, without length prefix.static void
encodeVaxLongWithoutLength
(OutputStream out, long val) Encodes a long using Vax encoding into an output stream, without length prefix.static int
iscVaxInteger
(byte[] buf, int off, int len) Reads Vax style integers frombuf
, starting atoff
and reading forlen
bytes.static int
iscVaxInteger2
(byte[] buf, int off) Variant ofiscVaxInteger(byte[], int, int)
specifically for two-byte integers.static long
iscVaxLong
(byte[] buf, int off, int len) Reads Vax style integers (longs) frombuf
, starting atoff
and reading forlen
bytes.
-
Method Details
-
iscVaxInteger
public static int iscVaxInteger(byte[] buf, int off, int len) Reads Vax style integers frombuf
, starting atoff
and reading forlen
bytes.This method is useful for lengths up to 4 bytes (i.e. normal Java integers (
int
). For larger lengths it will return0
. UseiscVaxLong(byte[], int, int)
for reading values with length up to 8 bytes. For decoding 2 byte integers, useiscVaxInteger2(byte[], int)
for optimal performance.- Parameters:
buf
- byte array from which the integer is to be retrievedoff
- offset from which to start retrieving byte valueslen
- number of bytes to read- Returns:
- integer value retrieved from the bytes
- See Also:
-
encodeVaxInteger
Encodes an integer using Vax encoding into an output stream, length prefix is included.- Parameters:
out
- output stream to writeval
- value to encode- Throws:
IOException
-
encodeVaxInteger
public static void encodeVaxInteger(byte[] buf, int off, int val) Encodes an integer using Vax encoding intobuf
, length prefix is included.- Parameters:
buf
- byte array of sufficient sizeoff
- offset to start writingval
- value to encode
-
encodeVaxIntegerWithoutLength
Encodes an integer using Vax encoding into an output stream, without length prefix.- Parameters:
out
- output stream to writeval
- value to encode- Throws:
IOException
-
encodeVaxIntegerWithoutLength
public static void encodeVaxIntegerWithoutLength(byte[] buf, int off, int val) Encodes an integer using Vax encoding intobuf
, without length prefix.- Parameters:
buf
- byte array of sufficient sizeoff
- offset to start writingval
- value to encode
-
iscVaxLong
public static long iscVaxLong(byte[] buf, int off, int len) Reads Vax style integers (longs) frombuf
, starting atoff
and reading forlen
bytes.This method is useful for lengths up to 8 bytes (i.e. normal Java longs (
long
). For larger lengths it will return0
.- Parameters:
buf
- byte array from which the long is to be retrievedoff
- offset from which to start retrieving byte valueslen
- number of bytes to read- Returns:
- long value retrieved from the bytes
- See Also:
-
encodeVaxLong
Encodes a long using Vax encoding into an output stream, length prefix is included.- Parameters:
out
- output stream to writeval
- value to encode- Throws:
IOException
-
encodeVaxLong
public static void encodeVaxLong(byte[] buf, int off, long val) Encodes a long using Vax encoding intobuf
, length prefix is included.- Parameters:
buf
- byte array of sufficient sizeoff
- offset to start writingval
- value to encode
-
encodeVaxLongWithoutLength
Encodes a long using Vax encoding into an output stream, without length prefix.- Parameters:
out
- output stream to writeval
- value to encode- Throws:
IOException
-
encodeVaxLongWithoutLength
public static void encodeVaxLongWithoutLength(byte[] buf, int off, long val) Encodes a long using Vax encoding intobuf
, without length prefix.- Parameters:
buf
- byte array of sufficient sizeoff
- offset to start writingval
- value to encode
-
iscVaxInteger2
public static int iscVaxInteger2(byte[] buf, int off) Variant ofiscVaxInteger(byte[], int, int)
specifically for two-byte integers.- Parameters:
buf
- byte array from which the integer is to be retrievedoff
- offset from which to start retrieving byte values- Returns:
- integer value retrieved from the bytes
- See Also:
-
encodeVaxInteger2WithoutLength
Encodes an integer using two byte Vax encoding into an output stream, without length prefix.- Parameters:
out
- output stream to writeval
- value to encode- Throws:
IOException
-
encodeVaxInteger2WithoutLength
public static void encodeVaxInteger2WithoutLength(byte[] buf, int off, int val) Encodes an integer using two byte Vax encoding intobuf
, without length prefix.- Parameters:
buf
- byte array of sufficient sizeoff
- offset to start writingval
- value to encode- Since:
- 6.0.2
-
decodeVaxInteger2WithoutLength
Decodes an integer using two byte Vax encoding from an input stream, without length prefix.- Parameters:
in
- input stream to read- Returns:
- decoded value
- Throws:
IOException
- for errors reading from the stream, or if end-of-stream was reached before the full integer- Since:
- 6
-