Duvida em conversão

Pessoal estou novamente com problemas na conversão de valores, acontece que tenho um programa no qual eu digito uma string e preciso saber o numero de caracteres que digitei, no caso de ter digitado DouglasCar o programa informa 10 até aí sem problemas, ocorre que preciso converter uma string de decimal para hexadecimal e na fórmula de conversão que tenho a conversão ocorre de caracter para hexa, sendo que para o exemplo citado ela converteria 10 para 3130 e eu precisaria converter 10 para 0A. A fórmula para conversão de caracter para hexadecimal que tenho é a seguinte:

//Converte a string cont2 em um valor hexadecimal
StringBuffer cont1 = new StringBuffer(); 
 for (int i = 0; i < cont2.length(); i++) {
      char ch = cont2.charAt(i); 
      if (ch < 0x10) 
            cont1.append('0');  // addiciona zero para numeros com só uma casa 
            cont1.append(Integer.toHexString(ch & 0xFF));   		   	
       } 
       String cont_string = cont1.toString(); // aqui só o codigo hexadecimal
              
       System.out.println("cont_string:" + cont_string);

Agradeço se alguém puder me dar uma força.

Para converter algo para Hexadecimal você pode usar Integer.toHexString() ou Long.toHexString() - só depende do tamanho do seu número decimal.
A regra é sempre:

  • se você tem uma string em decimal, converta para um número (int ou long) com Integer.parseInt ou Long.parseLong;
  • converta o número para uma string em hexa com Integer.toHexString() ou Long.toHexString();
  • complete com zeros à esquerda, converta para maiúsculas etc.

Valeu a força thingol, obrigado pela ajuda. :lol: