![]() |
Kodierung in UCS-2 Little Endian
Hallo zusammen,
wie die Überschrift sagt, habe ich Probleme mit dem kodieren einer Nachricht in "UCS-2 Little Endian". Leider kann die lesende Lasermaschine nur dieses Encoding einwandfrei verarbeiten. Wie kann ich Delphi am Besten dazu bringen, die Datei richtig zu kodieren? Folgenden Code habe ich geschrieben, aber er funktioniert leider bei einigen Zeichen nicht:
Delphi-Quellcode:
Am Anfang der XML Datei steht übrigends folgendes Encoding:
strStream := TStringStream.Create('', TEncoding.Unicode);
Code:
Danke für eure Hilfe!
<?xml version="1.0" encoding="utf-16"?>
|
AW: Kodierung in UCS-2 Little Endian
Am besten einen XML-Parser zum schreiben nehmen der UTF16 kann.
|
AW: Kodierung in UCS-2 Little Endian
Zitat:
![]() Das würde ich testen, aber auch mal den Hersteller fragen wie "utf-16" im Header zu "ucs-2 LE" passt, denn es gibt auch "ISO-10646-UCS-2" als XML encoding. |
AW: Kodierung in UCS-2 Little Endian
Zitat:
|
AW: Kodierung in UCS-2 Little Endian
Zitat:
Also ist eher die Frage, bei welchen Zeichen es nicht funktioniert und wie die Quelldaten erzeugt/generiert werden... |
AW: Kodierung in UCS-2 Little Endian
Zitat:
|
AW: Kodierung in UCS-2 Little Endian
Zitat:
|
AW: Kodierung in UCS-2 Little Endian
Ich glaube nicht das man im Bereich der erstellen dieser Daten in die Gefahr kommt Zeichen zu haben die in UTF-16 und UCS-2 anders codiert wären.
Unsere Anwendung lief problemlos auf einem UCS-2 System (Windows 2000) und läuft auch Problemlos auf UTF-16 Systemen (Windows XP und neuer) ohne eine einzige Quellcodezeile angepasst zu haben! |
AW: Kodierung in UCS-2 Little Endian
Habt ihr auch damals Daten als UCS-2 gespeichert und dann versucht als UTF-16 zu laden? :stupid:
|
AW: Kodierung in UCS-2 Little Endian
Zitat:
Die umgekehrte Richtung geht nicht (UTF-16 nach UCS-2 konvertieren). Für die Zeichencodierung stehen in Unicode insgesamt 1.111.998 Codepunkte zur Verfügung. Und 1.111.998 > 65.536. Wenn man mit der Lasermaschine zum Beispiel keine Emojis oder Mahongg-Zeichen ausgeben muss, Gl♫ckwunsch :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz