GEDCOM/CHAR-Tag: Unterschied zwischen den Versionen

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen
K (Engl Link entfernt)
 
(51 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Stub}}
__TOC__
__TOC__


Zeile 11: Zeile 9:


=== Deutsche Bezeichnung ===
=== Deutsche Bezeichnung ===
CHAR steht für Buchstabe.
CHAR steht für Character-set, auf Deutsch: Zeichensatz.


== Verwendung ==
== Verwendung ==
Über das Tag CHAR soll die Kodierung der in der GEDCOM Datei benutzten Buchstaben und Zeichen festgelegt werden.
Über das tag CHAR soll die Kodierung der in der GEDCOM Datei benutzten Buchstaben und Zeichen festgelegt werden.


== Formale Beschreibung zulässiger Werte ==
== Formale Beschreibung zulässiger Werte ==
Zeile 32: Zeile 30:
=== Standardfall ===
=== Standardfall ===


Jede GEDCOM Datei soll im Header angaben zur benutzten Kodierung geben. Das Format ist wie folgt:
Jede GEDCOM Datei soll im Header Angaben zur benutzten Kodierung geben. Das Format ist wie folgt:


'''1 CHAR <Zeichensatzkodierung>'''
'''1 CHAR <Zeichensatzkodierung>'''
Zeile 44: Zeile 42:
'''<Zeichensatzkodierung> := ANSEL |UTF-8 | UNICODE | ASCII'''
'''<Zeichensatzkodierung> := ANSEL |UTF-8 | UNICODE | ASCII'''


=== Optionale angaben ===
=== Optionale Angaben ===
 
Über eine dem tag CHAR direkt untergeordnetes
 
'''2 VERS Zeichensatzkodierung-Versionsangabe'''
 
kann die verwendete Version des in CHAR angegebenen Zeichensatzes näher spezifiziert werden.
 
== Vereinbarungen der Programmautoren zu CHAR ==
 
In einer intensiven Diskussion in der Liste Gedcom-L sind die folgenden Vereinbarungen zur Kodierung erarbeitet und in einer Abstimmung ( stimmberechtigt: die in der Liste angemeldeten 23 Programmautoren ) verabschiedet worden.
 
=== Vereinbarungen zu CHAR bezüglich Export ===


==== Versionsangabe ====
* '''E1 Angabe der Kodierung'''
** Die in der Datei verwendete Kodierung muss im Kopf ("Header") der Datei explizit angegeben werden in der Form:
** 1 CHAR Zeichensatzkodierung


Zusätzlich zur Angabe der Kodierung kann weiterhin die Version des Kodierung angegeben werden, Beispiel:
* '''E2 Standard-Kodierung'''
** Der Export in der Kodierung UTF-8 muss unterstützt werden, diese Kodierung sollte als Standard-Kodierung eingestellt werden.


'''1 CHAR ANSI'''<br />
* '''E3 Optionale Kodierungen'''
'''2 VERS 1252'''
** Die Kodierungen ANSEL, ASCII, UNICODE (beinhaltet UCS-2 BE, UCS-2 LE, UTF-16 BE, UTF-16 LE) dürfen optional unterstützt werden. Die Verwendung der Kodierung UNICODE wird nicht empfohlen.
 
* '''E4 Duldung ANSI'''
** Die Unterstützung der ANSI Kodierung wird geduldet, d.h. sie darf als Option unterstützt werden, obwohl ANSI nach GEDCOM Standard 5.5.1 nicht zulässig ist.
 
* '''E6 Position CHAR im Header'''
** Bei Dateien ohne Byte Order Mark (BOM) sollte CHAR im Header so weit nach oben gestellt werden, dass vor dem tag CHAR keine Zeichen ausserhalb des US_ASCII Umfanges auftreten.
 
* '''E7 Ausschluss weiterer Kodierungen im Export'''
** Andere Kodierungen als die in E2, E3 und E4 genannten dürfen im Export nicht verwendet werden.
 
=== Vereinbarungen zu CHAR bezüglich Import ===
 
* '''I1 Unterstützung von Kodierungen'''
** Beim Import müssen die Kodierungen UTF-8 und ANSEL unterstützt werden.
 
* '''I2 Unterstützung weiterer Kodierungen'''
** Weitere Kodierungen dürfen beim Import ohne Einschränkung unterstützt werden, die Unterstützung der Kodierungen aus E3 wird empfohlen.
 
* '''I3 Duldung und Unterstützung ANSI'''
** Die Kodierung ANSI darf unterstützt werden. Für eine Übergangszeit muss der Import von ANSI-kodierten Dateien unterstützt werden.
 
* '''I4 Erkennung der Kodierung'''
** Die Kodierung muss automatisch vom Programm erkannt werden, wenn sie nach E1 oder B1 korrekt angegeben ist.
 
* '''I5 Warnmeldung bei unvollständigem Import'''
** Kann eine importierte Datei aufgrund ihrer Kodierungen intern nicht vollständig verarbeitet werden, so sollte dem Nutzer eine Warnmeldung gegeben werden.
 
=== Vereinbarungen zur Kennzeichnung durch Byte Order Mark (BOM) ===
 
* '''B1 BOM beim Export'''
** Das Byte Order Mark (BOM) muss bei den Kodierungen UTF-8 und UNICODE (USC-2 und UTF-16) ausgegeben werden.
 
* '''B2 BOM beim Import'''
** Über Erkennungsroutinen muss eine automatische Erkennung sichergestellt werden, ob ein BOM in der einzulesenden Datei vorhanden ist, und wenn ja, welches BOM.


== Behandlung/Darstellung schwieriger Situationen ==
== Behandlung/Darstellung schwieriger Situationen ==


Folgende Themen sind derzeit in der GEDCOM-Arbeitsgruppe von Compgen mit den Programmentwicklern in Diskussion:
=== Information zur Abstimmung ===
 
Folgender Entscheidungs-Vorschlag fand bei der Abstimmung keine Mehrheit:
 
* '''E5 Warnung bei unvollständigem Export'''
** Wählt der Anwender beim Export eine Kodierung, die nicht alle in der aktuellen Datei vorkommenden Zeichen unterstützt, so sollte das Programm eine Warnung ausgeben.
 
Folgende Alternativformulierung B1 -A- wurde zugunsten der oben dargestellten Version B1 nicht angenommen:
 
* '''B1 -A- BOM beim Export'''
** Das Byte Order Mark (BOM) darf beim Export ausgegeben werden.
 
 
Folgende Themen sind in der GEDCOM-Arbeitsgruppe von Compgen mit den Programmentwicklern bei der Behandlung zum Thema Kodierung / tag CHAR diskutiert worden:
 
=== Kodierung "UNICODE" im GEDCOM Standard 5.5.1 ===
 
Der GEDCOM Standard 5.5.1 ist nicht eindeutig in der Aussage, was bei der Angabe von Zeichensatzkodierungen mit "UNICODE" gemeint ist. Vieles spricht für die Interpretation, es sei UCS-2. Mit UNICODE 2.0 wurde die Kodierung UTF-16 als Nachfolger von UCS-2  eingeführt. Zu UTF-16 fehlen jedoch im GEDCOM-Standard 5.5.1 konkrete Aussagen.
 
Um bei der Vereinbarung unter den Programmautoren hier diese Unsicherheit nicht fortbestehen zu lassen, wurden im Punkt Export E3 explizit sowohl die UCS-2 als auch die UTF-16 Kodierungen aufgeführt.
 
Da jedoch mit UTF-8 eine gut unterstützte Kodierung zur Verfügung steht, die den vollen Zeichensatzumfang wie UTF-16 auch abbildet, haben die in der Liste Gedcom-L vertretenen Programmautoren im Anschluss an ihre Disksussion vereinbart, UTF-8 als Kodierung zu unterstützen und auch empfohlen, diese Kodierung in den Programmen als Standard einzustellen.
 
Ein sicherer Datentransfer über UCS-2 und insbesondere über UTF-16 bedarf weiterer Vereinbarungen, die hier nicht ausgearbeitet wurden.


=== Standard Kodierung beim Export ===
=== Standard Kodierung beim Export ===


Folgende GEDCOM 5.5.1 konforme Optionen stehen zur Zeit zur Diskussion:
Folgende GEDCOM 5.5.1 konforme Optionen stehen zur Auswahl:
* UTF-8
* UTF-8
** erlaubt die unproblematische Darstellung von internationalen Zeichen
** Erlaubt die unproblematische Darstellung von internationalen Zeichen
** wird von einigen Programmen nicht unterstützt
** Wird von einigen Programmen nicht unterstützt
* ASCII
* ASCII
** Zu limitiert
** Zu limitierter Zeichensatz
* ANSEL  
* ANSEL  
** Gute unterstützung von internationalen Zeichen
** Gute Unterstützung von internationalen Zeichen
** Kaum benutzt und geringe Verbreitung
* UNICODE
* UTF-16
** Entspricht UCS-2 (oder UTF-16, siehe oben).
** Sehr gute unterstützung von internationalen Zeichen
** Gute Unterstützung von internationalen Zeichen
** Wir bis jetzt noch von sehr wenigen Programmen unterstützt
** UTF-16 gleicher Umfang wie UTF-8, die Einschränkungen bei UCS-2 sind für die Genealogie nicht relevant
** Wird von wenigen Programmen unterstützt, offene Probleme für die Umsetzung


Bemerkung 1: Unter den Überbegriff UNICODE fallen alle UTF-n Kodierungen.<br />
Bemerkung: ANSI ist zwar nicht GEDCOM 5.5.1 konform, ist aber heute weitverbreitet und wird von vielen Genealogieprogrammen als das Standardformat eingesetzt. Es bestehen Probleme, wenn die Codepage nicht eindeutig oder richtig mit angegeben wird.
Bemerkung 2: ANSI ist zwar nicht GEDCOM 5.5.1 konform scheint aber heute noch von vielen Genealogieprogrammen als das Standardformat beim Import erwartet zu werden.


Status:
Status:


''OFFEN''
''Vereinbarungen getroffen''
 
=== Benutzung der Byte Order Mark (BOM) bei UNICODE Kodierungen ===


=== Mindestanforderung von Kodierungen beim Export ===
Mit dem BOM wird zu Beginn der Datei angegeben, in welcher Ordnung die Bytes bei UTF-16 zu lesen sind. Für UTF-8 ist ebenfalls ein BOM definiert.


Die Frage kam auf ob und wenn welche Kodierungen ein Programm neben dem Standart Export noch unterstützen sollte.
Folgende Argumente werden zur Zeit in der Arbeitsgruppe der Programmautoren abgewogen:
* UTF-8
* Durch die Angabe des BOM wird die Identifizierung der gewählten Kodierung erleichtert
* UTF-16
* Ältere Programme verstehen z.T. Dateien mit BOM nicht und brechen den Import ab
* ANSI (nicht GEDCOM 5.5.1 konform)
* ASCII
* ANSEL


Lösungsvorschlag:
* Jedes Programm bietet als Standard-Export die Kodierung UTF-8
* Als Option sollte mindestens einen Export mit Kodierung ANSI angeboten werde (die die meisten Programme heute als Standard haben)


Status:
Status:


''OFFEN''
''Vereinbarungen getroffen''
 
 
=== Interpretation der ersten beiden Bytes einer GEDCOM-Datei ===
 
Eine GEDCOM-Datei beginnt mit der Zeile
* '''0 HEAD'''
 
Je nach Kodierung und Verwendung eines BOM finden sich folgende Angaben in den ersten beiden Bytes der GEDCOM-Datei:
{| {{Prettytable}}
! Bytes !! Bedeutung
|-
|
<code>0x30 0x20
 
0xef 0xbb
 
0xfe 0xff
 
0xff 0xfe
 
0x00 0x30
 
0x30 0x00</code>   
|
''Kein BOM, Kodierung ASCII, ANSI oder UTF-8''


=== Mindestanforderung von Kodierungen beim Import ===
''BOM für UTF-8 ( vollständiges BOM: ''<code>0xef 0xbb 0xbf</code> )


Zu klären ist welche Kodierungen ein Programm bein Einlesen von Dateien mindestens unterstützen muß:
''BOM für UTF-16 BE''
* UTF-8
* UNICODE
** UTF-16 Versionen
** UTF-32
** andere
* ANSI
* ASCII
* ANSEL


Lösungsvorschlag:
''BOM für UTF-16 LE''
* Jedes Programm soll mindestens UTF-8 und ANSI beim Import verarbeiten können


Status:
''Kein BOM, Kodierung UTF-16 BE''


''OFFEN''
''Kein BOM, Kodierung UTF-16 LE''
|}


=== Benutzung der Byte Order Mark (BOM) bei UNICODE Kodierungen ===
Damit bietet die Auswertung der ersten beiden Bytes einer Datei die Möglichkeit, eine UTF-16 Kodierung eindeutig zu erkennen. Eine UTF-8 Kodierung wird nur erkannt, wenn das UTF-8 BOM angegeben wurde.


Folgende Optionen zur Unterstützung der BOM stehen offen:
=== Ermittlung der Kodierung bei Beginn der Datei mit 0x30 0x20 ===
* BOM <u>muß</u> unterstützt werden.
* BOM kann angegeben werden.
* BOM <u>darf nicht</u> benutzt werden (Probleme bei älteren Programmen)


Status:
Eine Datei mit dem Inhalt 0x30 0x20 in den ersten Bytes muss weiter analysiert werden, ob sie in ASCII, ANSI oder UTF-8 Kodierung erstellt wird. Dies erfolgt in der Regel dann über
* '''1 CHAR Zeichensatzkodierung'''


''OFFEN''
Da sich die Kodierungen ASCII, ANSI und UTF-8 nicht unterscheiden für Zeichen des US_ASCII Umfanges, kann durch eine entsprechend frühe Position von 1 CHAR ... im Header sichergestellt werden, dass zunächst die Kodierung eingelesen wird, und dann erst Zeichen folgen, bei denen sich die Kodierungen und damit die Dekodierungen unterscheiden.


=== Versionsangaben bei UNICODE Kodierungen ===
=== Versionsangaben bei UNICODE Kodierungen ===


Zu klären bleibt, ob eine Versionsangabe bei UNICODE nötig oder optional sein soll.
Versionsangaben bei UNICODE werden nicht als notwendig eingestuft.


Status:
Status:


''OFFEN''
''Diskussion abgeschlossen''
 
=== Codepage bei ANSI Kodierung ===
 
Beim Export mit der Kodierung ANSI kann die verwendete Codepage mittels des tags VERS angegeben werden:
* '''1 CHAR ANSI'''
* '''2 VERS codepage'''
 
Mit
* '''1 CHAR ANSI'''
* '''2 VERS 1252'''
 
wird z.B. die Standard ANSI Codepage für westeuropäische Schriften beschrieben.
 
 
=== Zeilenende-Zeichen ===
 
Das Thema der für das Zeilenende verwendeten Zeichen ( CR, LF ) wurde nicht unter dem Thema CHAR diskutiert. Es wird im Zusammenhang mit den Themen Feldlängen und Fortsetzungszeilen ( CONC, CONT ) aufgegriffen. Die Dokumentation zum Zeilenende ist im GenWiki Artikel GEDCOM/Syntax_GEDCOM-Zeile zu finden.




<!-- Sortierfolge auf der Kategorienseite gemäß letzten Teil des Titelpfades -> also dem Tagnamen -->
[[Kategorie:GEDCOM-Tag|{{SUBPAGENAME}}]]
[[Kategorie:GEDCOM-Tag|{{SUBPAGENAME}}]]
[[Kategorie:GEDCOM-Tag-Fertig abgestimmt|{{SUBPAGENAME}}]]<!-- Sortierfolge auf der Kategorienseite gemäß letzten Teil des Titelpfades -> also dem Tagnamen -->

Aktuelle Version vom 19. September 2023, 15:38 Uhr

Name und Bedeutung

Tag

CHAR

Formelle Bezeichnung

CHAR

Deutsche Bezeichnung

CHAR steht für Character-set, auf Deutsch: Zeichensatz.

Verwendung

Über das tag CHAR soll die Kodierung der in der GEDCOM Datei benutzten Buchstaben und Zeichen festgelegt werden.

Formale Beschreibung zulässiger Werte

Basis

Basis dieser Beschreibung: GEDCOM Standard Draft 5.5.1

Der Standard erlaubt die Verwendung folgender Kodierungen:

- 8-Bit ANSEL

- ASCII (USA Version)

- UNICODE

- UTF-8

Standardfall

Jede GEDCOM Datei soll im Header Angaben zur benutzten Kodierung geben. Das Format ist wie folgt:

1 CHAR <Zeichensatzkodierung>

Beispiel:

1 CHAR UTF-8

! Achtung: Es sind nur folgende Kodierungen erlaubt.

<Zeichensatzkodierung> := ANSEL |UTF-8 | UNICODE | ASCII

Optionale Angaben

Über eine dem tag CHAR direkt untergeordnetes

2 VERS Zeichensatzkodierung-Versionsangabe

kann die verwendete Version des in CHAR angegebenen Zeichensatzes näher spezifiziert werden.

Vereinbarungen der Programmautoren zu CHAR

In einer intensiven Diskussion in der Liste Gedcom-L sind die folgenden Vereinbarungen zur Kodierung erarbeitet und in einer Abstimmung ( stimmberechtigt: die in der Liste angemeldeten 23 Programmautoren ) verabschiedet worden.

Vereinbarungen zu CHAR bezüglich Export

  • E1 Angabe der Kodierung
    • Die in der Datei verwendete Kodierung muss im Kopf ("Header") der Datei explizit angegeben werden in der Form:
    • 1 CHAR Zeichensatzkodierung
  • E2 Standard-Kodierung
    • Der Export in der Kodierung UTF-8 muss unterstützt werden, diese Kodierung sollte als Standard-Kodierung eingestellt werden.
  • E3 Optionale Kodierungen
    • Die Kodierungen ANSEL, ASCII, UNICODE (beinhaltet UCS-2 BE, UCS-2 LE, UTF-16 BE, UTF-16 LE) dürfen optional unterstützt werden. Die Verwendung der Kodierung UNICODE wird nicht empfohlen.
  • E4 Duldung ANSI
    • Die Unterstützung der ANSI Kodierung wird geduldet, d.h. sie darf als Option unterstützt werden, obwohl ANSI nach GEDCOM Standard 5.5.1 nicht zulässig ist.
  • E6 Position CHAR im Header
    • Bei Dateien ohne Byte Order Mark (BOM) sollte CHAR im Header so weit nach oben gestellt werden, dass vor dem tag CHAR keine Zeichen ausserhalb des US_ASCII Umfanges auftreten.
  • E7 Ausschluss weiterer Kodierungen im Export
    • Andere Kodierungen als die in E2, E3 und E4 genannten dürfen im Export nicht verwendet werden.

Vereinbarungen zu CHAR bezüglich Import

  • I1 Unterstützung von Kodierungen
    • Beim Import müssen die Kodierungen UTF-8 und ANSEL unterstützt werden.
  • I2 Unterstützung weiterer Kodierungen
    • Weitere Kodierungen dürfen beim Import ohne Einschränkung unterstützt werden, die Unterstützung der Kodierungen aus E3 wird empfohlen.
  • I3 Duldung und Unterstützung ANSI
    • Die Kodierung ANSI darf unterstützt werden. Für eine Übergangszeit muss der Import von ANSI-kodierten Dateien unterstützt werden.
  • I4 Erkennung der Kodierung
    • Die Kodierung muss automatisch vom Programm erkannt werden, wenn sie nach E1 oder B1 korrekt angegeben ist.
  • I5 Warnmeldung bei unvollständigem Import
    • Kann eine importierte Datei aufgrund ihrer Kodierungen intern nicht vollständig verarbeitet werden, so sollte dem Nutzer eine Warnmeldung gegeben werden.

Vereinbarungen zur Kennzeichnung durch Byte Order Mark (BOM)

  • B1 BOM beim Export
    • Das Byte Order Mark (BOM) muss bei den Kodierungen UTF-8 und UNICODE (USC-2 und UTF-16) ausgegeben werden.
  • B2 BOM beim Import
    • Über Erkennungsroutinen muss eine automatische Erkennung sichergestellt werden, ob ein BOM in der einzulesenden Datei vorhanden ist, und wenn ja, welches BOM.

Behandlung/Darstellung schwieriger Situationen

Information zur Abstimmung

Folgender Entscheidungs-Vorschlag fand bei der Abstimmung keine Mehrheit:

  • E5 Warnung bei unvollständigem Export
    • Wählt der Anwender beim Export eine Kodierung, die nicht alle in der aktuellen Datei vorkommenden Zeichen unterstützt, so sollte das Programm eine Warnung ausgeben.

Folgende Alternativformulierung B1 -A- wurde zugunsten der oben dargestellten Version B1 nicht angenommen:

  • B1 -A- BOM beim Export
    • Das Byte Order Mark (BOM) darf beim Export ausgegeben werden.


Folgende Themen sind in der GEDCOM-Arbeitsgruppe von Compgen mit den Programmentwicklern bei der Behandlung zum Thema Kodierung / tag CHAR diskutiert worden:

Kodierung "UNICODE" im GEDCOM Standard 5.5.1

Der GEDCOM Standard 5.5.1 ist nicht eindeutig in der Aussage, was bei der Angabe von Zeichensatzkodierungen mit "UNICODE" gemeint ist. Vieles spricht für die Interpretation, es sei UCS-2. Mit UNICODE 2.0 wurde die Kodierung UTF-16 als Nachfolger von UCS-2 eingeführt. Zu UTF-16 fehlen jedoch im GEDCOM-Standard 5.5.1 konkrete Aussagen.

Um bei der Vereinbarung unter den Programmautoren hier diese Unsicherheit nicht fortbestehen zu lassen, wurden im Punkt Export E3 explizit sowohl die UCS-2 als auch die UTF-16 Kodierungen aufgeführt.

Da jedoch mit UTF-8 eine gut unterstützte Kodierung zur Verfügung steht, die den vollen Zeichensatzumfang wie UTF-16 auch abbildet, haben die in der Liste Gedcom-L vertretenen Programmautoren im Anschluss an ihre Disksussion vereinbart, UTF-8 als Kodierung zu unterstützen und auch empfohlen, diese Kodierung in den Programmen als Standard einzustellen.

Ein sicherer Datentransfer über UCS-2 und insbesondere über UTF-16 bedarf weiterer Vereinbarungen, die hier nicht ausgearbeitet wurden.

Standard Kodierung beim Export

Folgende GEDCOM 5.5.1 konforme Optionen stehen zur Auswahl:

  • UTF-8
    • Erlaubt die unproblematische Darstellung von internationalen Zeichen
    • Wird von einigen Programmen nicht unterstützt
  • ASCII
    • Zu limitierter Zeichensatz
  • ANSEL
    • Gute Unterstützung von internationalen Zeichen
  • UNICODE
    • Entspricht UCS-2 (oder UTF-16, siehe oben).
    • Gute Unterstützung von internationalen Zeichen
    • UTF-16 gleicher Umfang wie UTF-8, die Einschränkungen bei UCS-2 sind für die Genealogie nicht relevant
    • Wird von wenigen Programmen unterstützt, offene Probleme für die Umsetzung

Bemerkung: ANSI ist zwar nicht GEDCOM 5.5.1 konform, ist aber heute weitverbreitet und wird von vielen Genealogieprogrammen als das Standardformat eingesetzt. Es bestehen Probleme, wenn die Codepage nicht eindeutig oder richtig mit angegeben wird.

Status:

Vereinbarungen getroffen

Benutzung der Byte Order Mark (BOM) bei UNICODE Kodierungen

Mit dem BOM wird zu Beginn der Datei angegeben, in welcher Ordnung die Bytes bei UTF-16 zu lesen sind. Für UTF-8 ist ebenfalls ein BOM definiert.

Folgende Argumente werden zur Zeit in der Arbeitsgruppe der Programmautoren abgewogen:

  • Durch die Angabe des BOM wird die Identifizierung der gewählten Kodierung erleichtert
  • Ältere Programme verstehen z.T. Dateien mit BOM nicht und brechen den Import ab


Status:

Vereinbarungen getroffen


Interpretation der ersten beiden Bytes einer GEDCOM-Datei

Eine GEDCOM-Datei beginnt mit der Zeile

  • 0 HEAD

Je nach Kodierung und Verwendung eines BOM finden sich folgende Angaben in den ersten beiden Bytes der GEDCOM-Datei:

Bytes Bedeutung

0x30 0x20

0xef 0xbb

0xfe 0xff

0xff 0xfe

0x00 0x30

0x30 0x00

Kein BOM, Kodierung ASCII, ANSI oder UTF-8

BOM für UTF-8 ( vollständiges BOM: 0xef 0xbb 0xbf )

BOM für UTF-16 BE

BOM für UTF-16 LE

Kein BOM, Kodierung UTF-16 BE

Kein BOM, Kodierung UTF-16 LE

Damit bietet die Auswertung der ersten beiden Bytes einer Datei die Möglichkeit, eine UTF-16 Kodierung eindeutig zu erkennen. Eine UTF-8 Kodierung wird nur erkannt, wenn das UTF-8 BOM angegeben wurde.

Ermittlung der Kodierung bei Beginn der Datei mit 0x30 0x20

Eine Datei mit dem Inhalt 0x30 0x20 in den ersten Bytes muss weiter analysiert werden, ob sie in ASCII, ANSI oder UTF-8 Kodierung erstellt wird. Dies erfolgt in der Regel dann über

  • 1 CHAR Zeichensatzkodierung

Da sich die Kodierungen ASCII, ANSI und UTF-8 nicht unterscheiden für Zeichen des US_ASCII Umfanges, kann durch eine entsprechend frühe Position von 1 CHAR ... im Header sichergestellt werden, dass zunächst die Kodierung eingelesen wird, und dann erst Zeichen folgen, bei denen sich die Kodierungen und damit die Dekodierungen unterscheiden.

Versionsangaben bei UNICODE Kodierungen

Versionsangaben bei UNICODE werden nicht als notwendig eingestuft.

Status:

Diskussion abgeschlossen

Codepage bei ANSI Kodierung

Beim Export mit der Kodierung ANSI kann die verwendete Codepage mittels des tags VERS angegeben werden:

  • 1 CHAR ANSI
  • 2 VERS codepage

Mit

  • 1 CHAR ANSI
  • 2 VERS 1252

wird z.B. die Standard ANSI Codepage für westeuropäische Schriften beschrieben.


Zeilenende-Zeichen

Das Thema der für das Zeilenende verwendeten Zeichen ( CR, LF ) wurde nicht unter dem Thema CHAR diskutiert. Es wird im Zusammenhang mit den Themen Feldlängen und Fortsetzungszeilen ( CONC, CONT ) aufgegriffen. Die Dokumentation zum Zeilenende ist im GenWiki Artikel GEDCOM/Syntax_GEDCOM-Zeile zu finden.