---
title: 'Inselraus: parse*(…)- und print*()-Methoden in DatatypeConverter für Hex-Ausgaben'
url: 'https://tutego.de/blog/javainsel/2021/07/inselraus-parse-und-print-methoden-in-datatypeconverter-fuer-hex-ausgaben'
markdown: 'https://tutego.de/blog/javainsel/2021/07/inselraus-parse-und-print-methoden-in-datatypeconverter-fuer-hex-ausgaben.md'
date: '2021-07-12'
description: 'Das javax.xml.bind-Paket bietet eine Klasse DatatypeConverter, die eigentlich für die Abbildung von XML-Typen auf Java-Typen gedacht ist, doch auch so einige nützliche Methoden bereitstellt. Wir finden in der Klasse statische parse*(String)-Methoden und print*(…)-Methoden: Die ersten konvertieren e…'
taxonomy:
  category:
    - Insel
---

# Inselraus: parse*(…)- und print*()-Methoden in DatatypeConverter für Hex-Ausgaben

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://tutego.de/blog/javainsel/)

## Inselraus: parse\*(…)- und print\*()-Methoden in DatatypeConverter für Hex-Ausgaben

12.07.2021 · [Christian Ullenboom](https://tutego.de/blog/javainsel/author/admin/)

Das `javax.xml.bind`-Paket bietet eine Klasse DatatypeConverter, die eigentlich für die Abbildung von XML-Typen auf Java-Typen gedacht ist, doch auch so einige nützliche Methoden bereitstellt. Wir finden in der Klasse statische parse\*(`String`)-Methoden und print\*(…)-Methoden: Die ersten konvertieren einen `String` in diverse Datentypen – etwa short `parseShort(String)` –, und die zweiten formatieren einen bestimmten Datentyp in einen `String` – etwa `String` `printShort(short)`. Für die meisten Methoden gibt es mit `String.valueOf(…)` und den parse\*(…)/toString(…)-Methoden in den Wrapper-Klassen bessere Alternativen, und die Umwandlung von Datumswerten und Fließkommazahlen ist nicht lokalisiert, doch hervorzuheben sind folgende zwei Methoden:

final class `javax.xml.bind.DatatypeConverter`

- staticbyte\[\]`parseHexBinary(StringlexicalXSDHexBinary)`
- `staticStringprintHexBinary`(byte\[\]val)

Mit diesen statischen Methoden können leicht Byte-`Arrays` in die `String`-Repräsentationen hexadezimal konvertiert werden. Das ist nötig, wenn etwa Bytes in einer Text-Konfigurationsdatei abgelegt werden sollen. DatatypeConverter bietet auch Methoden für eine Base64-Kodierung, allerdings sind die geschachtelten Klassen in `java.util.Base64` üblicher.

Beispiel:

Konvertiere ein Byte-Array in eine `String`-Repräsentation, einmal im klassischen Hex-Format, einmal in Base64-Kodierung:

```java
byte[] bytes = { 1, 2, 3, (byte) 254, (byte) 255 };
String s1 = DatatypeConverter.printHexBinary( bytes );
String s2 = DatatypeConverter.printBase64Binary( bytes );
System.out.println( s1 ); // 010203FEFF
System.out.println( s2 ); // AQID/v8=
// Arrays.equals( bytes, DatatypeConverter.parseHexBinary( s1 ) ) == true
// Arrays.equals( bytes, DatatypeConverter.parseBase64Binary( s2 ) ) == true
```

Kategorien: [Insel](https://tutego.de/blog/javainsel/category/insel/)

[← Alle Beiträge](https://tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Inselupdate: strictfp verschwindet in Java 17](https://tutego.de/blog/javainsel/2021/07/inselupdate-strictfp-verschwindet-in-java-17.md)
