Transformar string em hexadecimal - cada hexadecimal vai ser um byte [RESOLVIDO]

Bom dia PessoALL !
Preciso enviar uma informação/string para um equipamento/impressora em formato hexadecimal.
Já tentei transformar o string em array de bytes e depois enviar mas o equipamento / impressora não interpreta corretamente.

byte[] byt = str.getBytes();

Estou utilizando o método abaixo para transformar o string em array de strings em formato hexadecimal.
Encontrei o método abaixo no site: http://www.java2s.com/Code/Java/Data-Type/dumpanarrayofbytesinhexform.htm

    private static final byte[] HEX_CHAR = new byte[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

    public static final String dumpBytes(byte[] buffer) {
        if (buffer == null) {
            return "";
        }

        StringBuffer sb = new StringBuffer();

        for (int i = 0; i < buffer.length; i++) {
            sb.append("0x").append((char) (HEX_CHAR[(buffer[i] & 0x00F0) >> 4])).append(
                    (char) (HEX_CHAR[buffer[i] & 0x000F])).append(" ");

        }
        System.out.println("string-hexa: " + sb.toString());

        return sb.toString();
    }

    dumpBytes("testando a impressora".getBytes());

** Retorno:
string-hexa: 0x74 0x65 0x73 0x74 0x61 0x6E 0x64 0x6F 0x20 0x61 0x20 0x69 0x6D 0x70 0x72 0x65 0x73 0x73 0x6F 0x72 0x61

Mas não estou conseguindo transformar cada parte do string em 01 byte para carregar no array de bytes para enviar.
Como posso fazer ? Poderiam me ajudar ?
Desde já agradeço pela ajuda e fico aguardando as respostas / sugestões.
Atenciosamente,
Wagner

Tenta o seguinte:

public static String toHexString(byte bytes[]) {
        StringBuffer retString = new StringBuffer();
        for (int i = 0; i < bytes.length; ++i) {
            retString.append(
                    Integer.toHexString(0x0100 + (bytes[i] & 0x00FF)).substring(1));
        }
        return retString.toString();
    }

public static void main(String[] args) {
        String hex = toHexString("testando a impressora".getBytes());
        byte[] bts = new BigInteger(hex, 16).toByteArray();
}

Olá !
Obrigado pela ajuda !!
Mas consegui em outro fórum a resposta, o Ricardo Staroski - http://javafree.uol.com.br/viewtopic.jbb?t=878775.
Segue abaixo a resposta:

 // classe utilitaria para converter byte em String e vice-versa  
 public final class HexaUtil {  
   
     private static final char[] HEXAS = "0123456789ABCDEF".toCharArray();  
   
     // construtor privado, nao faz sentido instanciar esta classe  
     private HexaUtil() {}  
   
     // converte um byte para uma String hexadecimal  
     public static final String toHexa(final byte bits) {  
         final int lo = bits & 0xF;  
         final int hi = bits >>> 4 & 0xF;  
         return String.valueOf(HEXAS[hi]) + String.valueOf(HEXAS[lo]);  
     }  
   
     // converte um array de byte para uma String hexadecimal  
     public static final String toHexaString(final byte[] bytes) {  
         final StringBuffer buffer = new StringBuffer();  
         final int length = bytes.length;  
         for (int i = 0; i < length; i++) {  
             buffer.append(toHexa(bytes[i]));  
         }  
         return buffer.toString();  
     }  
   
     // converte uma String hexadecimal para um byte  
     public static final byte toByte(final String hexa) {  
         return (byte) Short.parseShort(hexa.toUpperCase(), 16);  
     }  
   
     // converte uma String hexadecimal para um array de byte  
     public static final byte[] toByteArray(final String hexaString) {  
         final char[] chars = hexaString.toCharArray();  
         final int length = chars.length;  
         final byte[] byteArray = new byte[length / 2];  
         String hexa = null;  
         for (int i = 0, j = 0; i < length; i += 2, j++) {  
             hexa = new String(new char[] {chars[i], chars[i + 1]});  
             byteArray[j] = toByte(hexa);  
         }  
         return byteArray;  
     }  
 }

Atenciosamente,
Wagner