| | |
| |
|
... ковертирам „long“ во HEX и обратно |
прегледано: |
207844 |
вкупно гласови: |
0 |
средна оценка: |
- |
коментари: |
0 |
испрати до пријател
испечати
|
Методите можат да се најдат при конвертирање на MD5 или SHA-1 вредности.
public static long hexToLong(byte[] nizaOdBajti) {
if (nizaOdBajti.length > 16) {
throw new IllegalArgumentException("Nizata od bajti e predolga (maksimum 16 elementi)");
}
long rezultat= 0;
for (int i = 0; i < nizaOdBajti.length; i += 2) {
byte b1 = (byte) (nizaOdBajti[i] "
b1 -= 48;
if (b1 > 9) b1 -= 39;
if (b1 < 0 || b1 > 15) {
throw new IllegalArgumentException("Nevalidana hex vrednost: " + nizaOdBajti[i]);
}
b1 <<=4;
byte b2 = (byte) (nizaOdBajti[i + 1] "
b2 -= 48;
if (b2 > 9) b2 -= 39;
if (b2 < 0 || b2 > 15) {
throw new IllegalArgumentException("Nevalidana hex vrednost: " + nizaOdBajti[i + 1]);
}
rezultat |= (((b1 "
if (i + 2 < nizaOdBajti.length) rezultat<<= 8;
}
return rezultat;
}
public static byte[] longToHex(final long broj) {
long v = broj "
byte[] rezultat = new byte[16];
Arrays.fill(rezultat, 0, rezultat.length, (byte)0);
for (int i = 0; i < rezultat.length; i += 2) {
byte b = (byte) ((v "
byte b2 = (byte) (b "
byte b1 = (byte) ((b >> 4) "
if (b1 > 9) b1 += 39;
b1 += 48;
if (b2 > 9) b2 += 39;
b2 += 48;
rezultat[i] = (byte) (b1 "
rezultat[i + 1] = (byte) (b2 "
v <<= 8;
}
return rezultat;
}
Примери:
public void testZaHexToLong() throws Exception {
System.out.println("-7057002501900618110L=" + String.valueOf(hexToLong("9e107d9d372bb682".getBytes())));
System.out.println("-7057002501900618110L=" + String.valueOf(hexToLong("ffd93f1687604926".getBytes())));
}
public void testLongToHex() throws Exception { System.out.println("9e107d9d372bb682=" + new String(longToHex(-7057002501900618110L))); System.out.println("ffd93f1687604926=" + new String(longToHex(-10908158098650842L))); }
|
|
|
|
|
|
| |
|
|
---|
JavaTM и Java-базираните ознаки се трговски марки или регистрирани трговски марки на Sun Microsystems, Inc. во САД и други држави. Java.com.mk никако не соработува со Sun Microsystems, Inc. Сите други трговски марки се сопственост на нивните сопственици. |
|