9.12. Unicode-Texte in Hex-Code umwandeln

PDFUnit kann mit Unicode-Daten umgehen, Kapitel 11: „Unicode“ beschreibt das Thema ausführlich.

Die folgenden Abschnitte beschreiben ein kleines Werkzeug, das einen Unicode-String in seinen Hex-Code umwandelt, damit Sie diesen in Ihren Tests verwenden können. Für wenige 'unlesbare' Zeichen ist dieser Weg einfacher, als einen neuen Font auf Ihrem Rechner zu installieren.

Das Programm ConvertUnicodeToHex konvertiert eine beliebige Zeichenkette in ASCII-Code und wandelt dabei Nicht-ASCII-Zeichen in ihren jeweiligen Unicode-Hex-Code. Beispielsweise wird das Euro-Zeichen in \u20AC umgewandelt.

Die Eingabedatei selber kann in einem beliebigen Encoding vorliegen, es muss nur vor der Programmausführung korrekt gesetzt sein.

Aufruf

Das Javaprogramm wird mit dem Parameter -D gestartet:

::
:: Converting Unicode content of the input file to hex code.
::
  
@echo off
setlocal
set CLASSPATH=./lib/pdfunit-2016.05/*;%CLASSPATH%

set TOOL=com.pdfunit.tools.ConvertUnicodeToHex
set OUT_DIR=./tmp
set IN_FILE=unicode-to-hex.in.txt

java -Dfile.encoding=UTF-8 %TOOL%  %IN_FILE%  %OUT_DIR% 
endlocal

Der vorletzte Parameter ist die Eingabedatei, der letzte Parameter das Ausgabeverzeichnis.

Eingabe

Die im Skript verwendete Eingabedatei unicode-to-hex.in.txt enthält folgende Werte:

äöü € @

Ausgabe

Die erzeugte Datei _unicode-to-hex.out.txt hat folgenden Inhalt:

#Unicode created by com.pdfunit.tools.ConvertUnicodeToHex
#Wed Jan 16 21:50:04 CET 2013
unicode-to-hex.in_as-ascii=\u00E4\u00F6\u00FC \u20AC @

Die Eingabe selber wird getrimmt. Wenn Sie für Ihren Test Leerzeichen am Anfang oder Ende benötigen, müssen Sie diese nach der Umwandlung in Unicode wieder hinzufügen.