Hva er PGN-filformatet?
.pgn (Portable Game Notation) er den mest populære standarden for sjakkdata. .pgn-filer lagrer trekkene i en sjakkmatch sammen med dato, sted, turneringsnavn, runde, resultat og spillernavn.
Datastruktur i en .pgn-fil
Header-data i en .pgn-fil er formatert ved hjelp av tag-par i klammeparanteser. Det obligatoriske settet - «Seven Tag Roster» - dekker [Event], [Site], [Date], [Round], [White], [Black], og [Result]. Spillerens bevegelser følger i en *movetext*-seksjon som bruker Standard Algebraisk Notasjon (SAN), med kommentarer i { }-parenteser og annoteringer som ! eller ?. Det finnes ingen binær signatur; .pgn-filer identifiseres av den innledende [Event "-taggen.
Data lagret i tekstformat
.pgn-filer lagrer informasjon i rent tekstformat (ASCII), og kan dermed enkelt leses av både mennesker og programmer. Flere partier kan slås sammen i én enkelt .pgn-fil, noe som er vanlig for åpningsbøker og turneringsdatabaser. Relaterte posisjonsformater inkluderer .FEN for individuelle brettposisjoner og .EPD for utvidede posisjonsbeskrivelser.
Mye brukt standard
.pgn-formatet brukes vanligvis til å lagre og dele (inkludert på nett) sjakkdata via plattformer som Lichess og Chess.com. .pgn-filer kan brukes til analyse av partier og spillerfremgang, trening av sjakkmotorer og arkivering av turneringsresultater.
Sikkerhet og trygghet
RISIKO: LOWPGN er ren tekst uten eksekverbart innhold, så filene er i seg selv trygge å åpne. De eneste forbeholdene: en feilformatert eller enorm PGN kan belaste en dårlig skrevet parser, og som alltid bør du laste ned sjakkprogramvare fra offisielle sider fremfor reklamefylte «PGN viewer»-portaler. Det finnes ingen makro- eller skriptfunksjonalitet i formatet.
Formatdetaljer
i et nøtteskallProgrammer som åpner PGN-filer
Tekniske detaljer
dyp spesifikasjon| MIME-type | application/x-chess-pgn |
| Filkoding | 7-bit ASCII ren tekst |
| Filsignatur | Ingen binære «magic bytes»; identifiseres i praksis av innledende [Event "..."] klammetag |
| Filstruktur | Oppsett i to seksjoner: tag-par i klammer (header) etterfulgt av movetext (trekkene i partiet) |
| Obligatoriske header-tagger | Seven Tag Roster - [Event], [Site], [Date], [Round], [White], [Black], [Result] |
| Trekknotasjon | Standard Algebraisk Notasjon (SAN) |
| Annoteringssymboler | Numeric Annotation Glyphs (NAGs) $1-$255; vanlige forkortelser: !, ?, !!, ??, !?, ?! |
| Kommentarsyntaks | Blokk-kommentarer i { }-parenteser; linjekommentarer etter ; (til slutten av linjen) |
| Støtte for variasjoner | Recursive Analysis Variations (RAVs) kodet i nøstede parenteser |
| Støtte for flere partier | Flere komplette partier kan slås sammen i én enkelt .pgn-fil |
| Resultatverdier | Fast vokabular: 1-0 (Hvit vinner), 0-1 (Svart vinner), 1/2-1/2 (remis), * (ukjent/pågående) |
| Linjelengde | Spesifikasjonen anbefaler ≤ 80 tegn per linje; LF eller CRLF linjeskift aksepteres |
| Utvikler | Steven J. Edwards (fellesskapsutviklet spesifikasjon) |
| Utgitt | 1994 (PGN specification) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.thechessdrum.net |