.ICS вариант №
Спецификация основных объектов календаря и планирования Интернета (iCalendar) — это интернет-стандарт (RFC 2445) для обмена и развертывания событий календаря и планирования. Формат iCalendar является интероперабельным, что обеспечивает обмен информацией календаря между пользователями, использующими различные приложения электронной почты. iCalendar форматирует входные данные как многоцелевые расширения почты Интернета (MIME) и облегчает обмен объектами через различные транспортные протоколы. Эти транспортные протоколы могут быть SMTP, HTTP, двухточечной асинхронной связью и сетевым транспортом на основе физических носителей.
iCalendar позволяет пользователям обмениваться событиями, задачами, зависящими от даты/времени, и информацией о занятости по электронной почте другим пользователям, которые могут ответить. Файлы iCalendar хранятся с использованием суффиксов «.ics», «.iCalendar» или «.ifb» с типом MIME «текст/календарь». iCalendar остается самодостаточным без какой-либо зависимости от транспортного протокола. Веб-серверы (с протоколом HTTP) могут передавать информацию iCalendar, а веб-страницы могут содержать данные iCalendar во встроенной форме с использованием iCalendar.
Краткая история формата файлов ICS
В 1998 году Инженерная рабочая группа Интернета (IETF) определила iCalendar как стандарт (RFC 2445). Стандарт был задокументирован Фрэнком Доусоном (Lotus Notes Corporation) и Дериком Стенерсоном (Microsoft). В 2009 году стандарт был снова усовершенствован Бернаром Десруиссо (Oracle) как RFC 5545. На этот раз были добавлены некоторые новые функции, а некоторые устаревшие функции объявлены устаревшими. В 2016 году был выпущен RFC 7986, дополненный оригинальным RFC iCalendar. RFC 7986 добавил новые характеристики к основному объекту VCALENDAR, а также были введены новые вспомогательные функции для систем конференц-связи.
Формат файла ICS
Тип MIME, используемый данными iCalendar, — «текст/календарь». Набор символов по умолчанию для iCalendar — UTF-8, однако, указав параметры в MIME, можно использовать другой набор символов. Файл iCalendar содержит разделы, среди которых «VCALENDAR» является глобальным разделом, который инкапсулирует все остальные разделы. Раздел VEVENT определяет события, VTODO перечисляет все элементы списка дел, VJOURNAL содержит записи журнала, а VTIMEZONE указывает информацию о часовом поясе. разрешено несколько разделов аналогичной категории. Для многочисленных событий в файле iCalendar может присутствовать несколько разделов VEVENT.
Строки содержимого
Объекты iCalendar организованы в отдельные строки текста «строки содержимого». В этом формате файла последовательность CRLF завершает строку, тогда как длина строки ограничена 75 октетами, не считая разрыва строки. Длинный элемент данных может быть разделен на несколько строк.
Разделители списков и полей
Свойства и параметры задают список значений, разделенных запятой. Строки в кавычках используются для значений параметров на основе URI. Список параметров может быть построен по значению свойства. Каждый параметр свойства в этом списке должен быть разделен точкой с запятой.
В списке значений точка с запятой изолирует параметры свойств, а запятая — отдельные значения свойств. Пример приведен ниже:
ATTENDEE;RSVP#TRUE;ROLE#REQ- contestant:mailto:
name@example.com
DATE;VALUE#DATE:20170304,20180504,2015704,201270904
Несколько значений
Некоторые свойства могут иметь несколько значений. Простое создание новой строки содержимого с именем свойства является основным правилом для многозначных свойств. Однако для одного значения с несколькими языковыми вариантами нельзя использовать многозначные свойства.
Двоичный контент
В объекте iCalendar значение свойства может ссылаться на данные двоичного содержимого, помещенные во внешний объект MIME с использованием URI. Встроенное двоичное содержимое можно использовать в особых ситуациях с параметром «ENCODING», когда приложению необходимо выразить объект iCalendar как единую сущность. В следующем примере объясняется свойство «ATTACH» со ссылкой на URI:
ПРИЛОЖЕНИЕ: https://products.conholdate.app/viewer/view/KDDURXKkLk/fileformat.doc
Набор символов
Хотя схема кодировки по умолчанию для iCalendar — UTF-8, параметр свойства не указан для определения кодировки значения свойства. в передачах MIME параметр “charset” ДОЛЖЕН использоваться для существующей кодировки.