added start position and length for hex/byte conversions
This commit is contained in:
parent
131443e110
commit
7161891b1f
@ -345,11 +345,10 @@ class Sys {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static
|
public static
|
||||||
int[] bytesToInts(byte[] bytes) {
|
int[] bytesToInts(byte[] bytes, int startPosition, int length) {
|
||||||
int length = bytes.length;
|
|
||||||
int[] ints = new int[length];
|
int[] ints = new int[length];
|
||||||
|
|
||||||
for (int i = 0; i < length; i++) {
|
for (int i = startPosition; i < length; i++) {
|
||||||
ints[i] = bytes[i] & 0xFF;
|
ints[i] = bytes[i] & 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -358,16 +357,21 @@ class Sys {
|
|||||||
|
|
||||||
public static
|
public static
|
||||||
String bytesToHex(byte[] bytes) {
|
String bytesToHex(byte[] bytes) {
|
||||||
return bytesToHex(bytes, false);
|
return bytesToHex(bytes, 0, bytes.length, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static
|
public static
|
||||||
String bytesToHex(byte[] bytes, boolean padding) {
|
String bytesToHex(byte[] bytes, int startPosition, int length) {
|
||||||
|
return bytesToHex(bytes, startPosition, length, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static
|
||||||
|
String bytesToHex(byte[] bytes, int startPosition, int length, boolean padding) {
|
||||||
if (padding) {
|
if (padding) {
|
||||||
char[] hexString = new char[3 * bytes.length];
|
char[] hexString = new char[3 * length - startPosition];
|
||||||
int j = 0;
|
int j = 0;
|
||||||
|
|
||||||
for (int i = 0; i < bytes.length; i++) {
|
for (int i = startPosition; i < length; i++) {
|
||||||
hexString[j++] = HEX_CHARS[(bytes[i] & 0xF0) >> 4];
|
hexString[j++] = HEX_CHARS[(bytes[i] & 0xF0) >> 4];
|
||||||
hexString[j++] = HEX_CHARS[bytes[i] & 0x0F];
|
hexString[j++] = HEX_CHARS[bytes[i] & 0x0F];
|
||||||
hexString[j++] = ' ';
|
hexString[j++] = ' ';
|
||||||
@ -376,10 +380,10 @@ class Sys {
|
|||||||
return new String(hexString);
|
return new String(hexString);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
char[] hexString = new char[2 * bytes.length];
|
char[] hexString = new char[2 * length - startPosition];
|
||||||
int j = 0;
|
int j = 0;
|
||||||
|
|
||||||
for (int i = 0; i < bytes.length; i++) {
|
for (int i = startPosition; i < length; i++) {
|
||||||
hexString[j++] = HEX_CHARS[(bytes[i] & 0xF0) >> 4];
|
hexString[j++] = HEX_CHARS[(bytes[i] & 0xF0) >> 4];
|
||||||
hexString[j++] = HEX_CHARS[bytes[i] & 0x0F];
|
hexString[j++] = HEX_CHARS[bytes[i] & 0x0F];
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user