Verilen bir byte dizisi, Hex string'e çeviren örnek aşağıdaki gibidir:
import java.security.NoSuchAlgorithmException;
public class ByteToHex {
public static String hex(byte[] byteArray) throws NoSuchAlgorithmException {
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < byteArray.length; i++) {
if ((0xff & byteArray[i]) < 0x10) {
hexString.append("0" + Integer.toHexString((0xFF & byteArray[i])));
} else {
hexString.append(Integer.toHexString(0xFF & byteArray[i]));
}
}
return hexString.toString();
}
public static void main(String[] args) throws NoSuchAlgorithmException {
String hex=ByteToHex.hex("fibiler".getBytes());
System.out.println("hex:"+hex);
}
}
Bir byte değeri için 0xFF ile & (and) operatörü uygulanır ise , negatif sayılar için negatiflik özelliği kaldırılmaktadır. Bu fonksiyon aynı byte'a hep aynı hex değerini vermesi içindir. Verilen byte'ların içeriği değiştirildiğine dikkat etmeniz gerekir.
Integer.toHexString method ile bir int değerinin Hex karşılığı alınır. Eğer sayı tek rakamlı ise başına 0 eklenmiştir.
Kod çalıştırıldığında
hex:666962696c6572
şeklinde ekrana basılacaktır.