Что такое формат файла PGN?
.pgn (Portable Game Notation) - самый популярный стандарт данных для шахматных партий. Файлы .pgn хранят ходы шахматного матча вместе с датой матча, местом проведения, названием события, раундом, результатом игры и именами игроков.
Структура данных файла .pgn
Данные заголовка в файле .pgn форматируются с использованием пар тегов в квадратных скобках. Обязательный набор - «Seven Tag Roster» (список из семи тегов) - включает [Event], [Site], [Date], [Round], [White], [Black] и [Result]. Движения фигур следуют далее в разделе *movetext* с использованием стандартной алгебраической нотации (SAN), с комментариями в фигурных скобках { } и аннотациями, такими как ! или ?. Бинарная сигнатура отсутствует; файлы .pgn идентифицируются по открывающему тегу [Event ".
Данные, сохраненные в текстовом формате
Файлы .pgn хранят информацию в обычном текстовом формате (ASCII) и, таким образом, легко читаются как людьми, так и программами. Несколько партий могут быть объединены в один файл .pgn, что часто встречается в книгах дебютов и базах данных турниров. Связанные форматы позиций включают .FEN для отдельных позиций на доске и .EPD для расширенных описаний позиций.
Широко используемый стандарт
Формат .pgn обычно используется для хранения и обмена (в том числе онлайн) данными шахматных матчей через такие платформы, как Lichess и Chess.com. Файлы .pgn могут использоваться для анализа после матча и прогресса игрока, обучения движков и архивирования записей турниров.
Безопасность и защита
РИСК: LOWPGN - это простой текст без исполняемого содержимого, поэтому файлы по своей сути безопасны для открытия. Единственные нюансы: некорректно сформированный или огромный PGN может перегрузить плохо написанный парсер, и, как всегда, загружайте шахматное ПО с официальных сайтов, а не с рекламных порталов «просмотрщиков PGN». В формате нет возможности использования макросов или скриптов.
Детали формата
в двух словахПрограммы, открывающие файлы PGN
Технические подробности
глубокая спецификация| MIME-тип | application/x-chess-pgn |
| Кодировка файла | 7-битный ASCII (простой текст) |
| Сигнатура файла | Бинарные магические байты отсутствуют; на практике идентифицируется по открывающему тегу [Event "..."] |
| Структура файла | Двухсекционная компоновка: пары тегов в скобках (заголовок), за которыми следует movetext (ходы партии) |
| Обязательные теги заголовка | Seven Tag Roster - [Event], [Site], [Date], [Round], [White], [Black], [Result] |
| Нотация ходов | Стандартная алгебраическая нотация (SAN) |
| Символы аннотации | Числовые глифы аннотации (NAG) $1-$255; распространенные сокращения: !, ?, !!, ??, !?, ?! |
| Синтаксис комментариев | Блочные комментарии в фигурных скобках { }; строчные комментарии после ; (до конца строки) |
| Поддержка вариантов | Рекурсивные варианты анализа (RAV), закодированные во вложенных скобках |
| Поддержка нескольких партий | Несколько полных партий могут быть объединены в одном файле .pgn |
| Значения результата | Фиксированный словарь: 1-0 (победа белых), 0-1 (победа черных), 1/2-1/2 (ничья), * (неизвестно/в процессе) |
| Длина строки | Спецификация рекомендует ≤ 80 символов на строку; принимаются окончания строк LF или CRLF |
| Разработчик | Steven J. Edwards (спецификация разработана сообществом) |
| Выпущен | 1994 (PGN specification) |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.thechessdrum.net |