ICalendar
iCalendar(アイカレンダー)とはPIMソフトなどで使われるスケジュールの標準フォーマット。RFC 5545 (旧版 RFC 2445)で規定されている。「iCal」と略称される。
iCalendarをサポートしたソフトウェアを使うことで、他のユーザーに対してミーティングの時間や予定を電子メール経由で知らせることが容易になり、メールの受信者もミーティングの日時を簡単に提案できるようになる。
iCalendarは多くの製品に実装、サポートされている。そのデータは従来の電子メールで交換され、仕様上、送信プロトコルに依存しないこととなっている。たとえばWebDAVサーバやSyncMLを使って共有や編集が行える。HTTPプロトコルしか使用しないシンプルなWebサーバは、iCalendarフォーマットのスケジュールデータを配付するために使われる。hCalendarを使えばWebページにiCalendarデータを埋め込むことができる。
iCalendarの仕様はオープンテキストのアニク・ガングリーを議長とする、Internet Engineering Task Forceのカレンダー・スケジュール作業部会によって定められた。仕様の記述はロータス社のフランク・ドーソン、マイクロソフトのデリック・ストナーソンによる。iCalendarの仕様はインターネットメール・コンソーシアム(英語版) (IMC) によって規定されたvCalendarに依拠している。
iCalendarデータのMIMEタイプは「text/calendar」である。
このMIMEタイプを持つカレンダー・スケジュールデータファイルには、拡張子「ics」が付けられる。(Mac OSではタイプコード「iCal」)
「free and busy time」(空いた時間と予定のある時間)を含むデータには拡張子「ftb」が付与される。(Mac OSではタイプコード「iFBf」)
iCalendarデータはプレーンテキストで、デフォルトでUTF-8が使用される。別の文字コードを使うときは「charset」MIMEパラメータで指定することができる。各行は CR + LF (16進:0D0A) で改行され、各行75オクテットの文字数制限がある。次の行にまたぐ場合はスペース (16進:20) またはタブ (16進:09)で行を始めることで、前行からの続きであることを明示できる。データ項目内での改行をしたい場合は「バックスラッシュ + N」(UTF-8で5C6Eまたは5C4E、\n)でコーディングする。