2012-03-28 7 views
-1

Während wir eine hexadezimale Zeichenfolge haben, wie konvertiert man die Hexadezimalzeichenfolge, da sie mit den Zeichen in der CharacterMap-Tabelle übereinstimmt. Ich habe versucht, die hexadezimale Kette als aufeinanderfolgende zwei Zeichencodes zu teilen und dann die decodierten Werte unter Verwendung System.Globalization.NumberStyles.HexNumber zu erhalten. Aber manchmal geht es schief und in diesen Fällen schlägt die obige Logik fehl, die hexadezimale Zeichenkette als Zeichenketten mit vier Zeichen zu konvertieren, und die Decodierung führt zu einem guten Ergebnis.Auswählen eines Werts zum Dekodieren von Hexadezimalstrings in PDF

Zum Beispiel:

Im Fall: <030402> hex Zeichenfolge umgewandelt Strings 03, 04 und 02 und dann die Teilergebnis erzeugt korrekte Decodierung.

In dem Fall: hex Zeichenfolge <0000> konvertiert als 00, 00 und dann Decodierung der Teilstrings erzeugt falsches Ergebnis. In diesem Fall ergibt das Konvertieren des Hexenstichs als Ganzes 0000 in Hexadezimalformat das korrekte Ergebnis.

Könnte jemand mir dabei helfen. Danke im Voraus.

+0

Können Sie den Code einfügen, den Sie verwenden? – albertjan

Antwort

0

Einige Ihrer spezifischen Bruchbeispiele mit erwarteten und tatsächlichen Ergebnissen zu sehen, würde helfen. Aber es klingt, als würden Sie nicht die variablen Codierungslängen von Unicode berücksichtigen. Unter UTF-8, zeigt den Bereich der ein Zeichen der ersten zwei Bytes, die die Größe des Charakters:

  • 00-9f: ein Byte
  • c2-df: zwei Bytes
  • E0-ef: drei Bytes
  • f0-f4: vier Bytes
Verwandte Themen