Was ist das PGN-Dateiformat?
.pgn (Portable Game Notation) ist der beliebteste Schachspiel-Datenstandard. .pgn-Dateien speichern Schachzüge zusammen mit Datum, Ort, Veranstaltungsname, Runde, Spielergebnis und Spielernamen.
Datenstruktur einer .pgn-Datei
Kopfzeilendaten in einer .pgn-Datei werden mithilfe von eckigen Klammerpaaren formatiert. Der Pflichtdatensatz - das Seven Tag Roster - umfasst [Event], [Site], [Date], [Round], [White], [Black] und [Result]. Die Spielerzüge folgen in einem *movetext*-Abschnitt in Standard Algebraic Notation (SAN), mit Kommentaren in { }-Klammern und Anmerkungen wie ! oder ?. Es gibt keine Binärsignatur; .pgn-Dateien werden anhand des einleitenden [Event " -Tags identifiziert.
Daten im Textformat gespeichert
.pgn-Dateien speichern Informationen im Klartextformat (ASCII) und können daher leicht von Menschen und Programmen gelesen werden. Mehrere Spiele können in einer einzigen .pgn-Datei zusammengefasst werden, was bei Eröffnungsbüchern und Turnierdatenbanken üblich ist. Verwandte Positionsformate sind .FEN für einzelne Brettstellungen und .EPD für erweiterte Positionsbeschreibungen.
Weit verbreiteter Standard
Das .pgn-Format wird häufig zum Speichern und Teilen (auch online) von Schachspieldaten über Plattformen wie Lichess und Chess.com verwendet. .pgn-Dateien können für die Spielanalyse, die Verfolgung des Spielerfortschritts, das Engine-Training und die Archivierung von Turnierprotokollen genutzt werden.
Sicherheit
RISIKO: LOWPGN ist Klartext ohne ausführbare Inhalte, daher sind die Dateien von Natur aus sicher zu öffnen. Einzige Vorbehalte: Eine fehlerhafte oder sehr große PGN könnte einen schlecht geschriebenen Parser belasten, und wie immer sollte Schachsoftware nur von offiziellen Seiten und nicht von werbeverseuchten „PGN-Viewer“-Portalen heruntergeladen werden. Das Format verfügt über keine Makro- oder Skriptfähigkeiten.
Formatdetails
kurz gefasstProgramme zum Öffnen von PGN-Dateien
Technische Details
technische Spezifikation| MIME-Typ | application/x-chess-pgn |
| Dateicodierung | 7-Bit ASCII-Klartext |
| Dateisignatur | Keine binären Magic Bytes; in der Praxis durch das einleitende [Event "..."]-Klammerntag identifiziert |
| Dateistruktur | Zweiteiliges Layout: eckige Klammerpaare (Kopfzeile) gefolgt von Movetext (Spielzüge) |
| Pflicht-Kopfzeilen-Tags | Seven Tag Roster - [Event], [Site], [Date], [Round], [White], [Black], [Result] |
| Zugnotation | Standard Algebraic Notation (SAN) |
| Annotationsglyphen | Numeric Annotation Glyphs (NAGs) $1-$255; gängige Kurzschreibweisen: !, ?, !!, ??, !?, ?! |
| Kommentarsyntax | Blockkommentare in { }-Klammern; Zeilenkommentare nach ; (bis Zeilenende) |
| Variationsunterstützung | Recursive Analysis Variations (RAVs) in verschachtelten Klammern kodiert |
| Mehrspielen-Unterstützung | Mehrere vollständige Spiele können in einer einzigen .pgn-Datei zusammengefasst werden |
| Ergebniswerte | Festgelegtes Vokabular: 1-0 (Weiß gewinnt), 0-1 (Schwarz gewinnt), 1/2-1/2 (Remis), * (unbekannt/laufend) |
| Zeilenlänge | Spezifikation empfiehlt ≤ 80 Zeichen pro Zeile; LF oder CRLF Zeilenenden akzeptiert |
| Entwickler | Steven J. Edwards (gemeinschaftlich entwickelte Spezifikation) |
| Veröffentlicht | 1994 (PGN specification) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | www.thechessdrum.net |