Comment faire pour convertir un tableau d'octets en une chaîne hexadécimale en Java?

J'ai un tableau d'octets rempli avec les nombres hexadécimaux et de l'imprimer le plus simple est assez inutile, car il existe de nombreux éléments non imprimables. Ce dont j'ai besoin est l'exact hexadécimal sous la forme de: 3a5f771c

  • Pourquoi ne pas juste faire un essai d'abord nous montrer ce que vous avez. Vous n'avez rien à perdre et tout à gagner. Entier a une toHexString(...) méthode qui peut aider si c'est ce que vous cherchez. Aussi String.format(...) peut faire bien des astuces de mise en forme à l'aide de la %2x chaîne de code.
  • double possible de En Java, comment puis-je convertir un tableau d'octets en une chaîne de chiffres hexadécimaux, tout en gardant les zéros?
  • "Ce dont j'ai besoin est l'exact hexadécimal sous la forme de: 3a5f771c..." - vous avez demandé une forme exacte, mais vous n'avez pas de fournir un exemple précis. Va sur ce que vous avez fournis, convertir les quatre premiers octets d'une chaîne de caractères, puis concaténer les points de suspension à la chaîne.
  • Avec l'aide de flux en Java 8, il peut simplement être mis en œuvre comme: static String byteArrayToHex(byte[] a) { return IntStream.range(0, un.la longueur) .mapToObj(i -> String.format("%02x", a[i])) .réduire((acc, v) -> acc + "" + v) .get(); }
InformationsquelleAutor Andre | 2012-03-11