Einzelnen Beitrag anzeigen

Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#1

Decodierung verschiedener Character Sets

  Alt 27. Jan 2010, 23:18
In Transport Streams sind Event Informationen (EPG) enthalten. Diese werden in verschiedenen Descriptoren angeben. Bei Texten gibt in der Regel das erste Char die Codierung des Textes an. Dazu gibt es in der ETSI EN 300 468 in Anhang A die Tabelle 3 (Seite 102):

Code:
First byte   Character code table                 Table description               Reproduced in
value                                                                               figure
0x01          ISO/IEC 8859-5 [27]                  Latin/Cyrillic alphabet         A.2
0x02          ISO/IEC 8859-6 [28]                  Latin/Arabic alphabet           A.3
0x03          ISO/IEC 8859-7 [29]                  Latin/Greek alphabet            A.4
0x04          ISO/IEC 8859-8 [30]                  Latin/Hebrew alphabet           A.5
0x05          ISO/IEC 8859-9 [31]                  Latin alphabet No. 5             A.6
0x06          ISO/IEC 8859-10 [32]                 Latin alphabet No. 6             A.7
0x07          ISO/IEC 8859-11 [33]                 Latin/Thai (draft only)         A.8
0x08          reserved for future use (see note)
0x09          ISO/IEC 8859-13 [34]                 Latin alphabet No. 7             A.9
0x0A         ISO/IEC 8859-14 [35]                 Latin alphabet No. 8 (Celtic)   A.10
0x0B         ISO/IEC 8859-15 [36]                 Latin alphabet No. 9             A.11
0x0C to 0x0F reserved for future use
0x10          ISO/IEC 8859                          See table A.4
0x11          ISO/IEC 10646 [16]                   Basic Multilingual Plane (BMP)
0x12          KSX1001-2004 [44]                    Korean Character Set
0x13          GB-2312-1980                          Simplified Chinese Character
0x14          Big5 subset of ISO/IEC 10646 [16]    Traditional Chinese
0x15          UTF-8 encoding of ISO/IEC 10646 [16] Basic Multilingual Plane (BMP)
0x16 to 0x1E reserved for future use
0x1F         Described by encoding_type_id        Described by 8 bit
                                                    encoding_type_id conveyed in
                                                    second byte of the string
In meinem deutschen Beispielstream wird die Codierung $05 verwendet. Da funktioniert die Decodierung anscheinend ohne Probleme. Einen Teil der anderen ISO 5589 Character Sets kann man vermutlich über die Delphi Fundamentals decodieren. Für die anderen müsste man wohl selbst CharMaps erstellen.

Kennt Ihr eine Alternative zu den Delphi Fundamentals, welche auch die anderen Character Sets unterstützt?

Wißt Ihr, warum bei den Unicode Character Sets die Codierung angegeben wird? Das sind doch bestimmt auch Doppelbytechar? Oder muss man ein Byte auf Grund der Codierung ergänzen?

Es wäre schön, wenn sich hier jemand damit auskennt und entsprechende Tipps geben kann.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat