iCalendar

作者:管理员 更新时间:2014-05-02 14:08

iCalendar是“日历数据交换”的标准(RFC 5545)。 此标准有时指的是“iCal”,即苹果公司的出品的一款同名日历软件(见iCal),这个软件也是此标准的一种实现方式。

iCalendar允许用户通过电子邮件的方式发送“会议请求”或“任务”。收信人使用支持iCalendar邮件客户端,便可以很方便地回应发件人,接受请求或另外提议一个新的会议时间。

iCalendar已得到很多产品的支持。通常情况下,iCalendar数据是使用电子邮件交换,但它也可以独立使用,而不局限于某种传输协议。例如,可以通过WebDav服务器或SyncML来进行共享与修改。简单的网页服务器(只使用HTTP协议)也常常被用来分发公共事件的iCalendar数据,或发布个人的时间谋划安排。发布者可以使用hCalendar把iCalendar数据嵌入到网页中。(hCalendar是一种通过(X)HTML来表现iCalendar的微格式)


iCalendar是由互联网工程任务组的日历与计划工作组设计(OpenText公司的Anik Ganguly主导),并由莲花公司的Frank Dawson和微软的Derik Stenerson发表。iCalendar本身是基于互联网邮件协会(IMC)的vCalendar开发设计而来的。它通常是以文件名后缀为.ics或.ifb的文本文件保存的。现有标准是于2009年九月发布的RFC 5545,上一个标准是RFC 2445。

以.ics为后缀名的文件(在Apple Mac系统中使用"iCal"类型代码),表示该文件包含了日历和计划信息。而以.ifb为后缀名的文件(在Apple Mac系统中使用"iFBf"类型代码),表示该文件包含 了空闲和忙碌时间信息。

通常iCalendar使用UTF-8字符编码;但也可以使用MIME中的charset参数来指其它的字符编码(如果它的传送协议支持MIME的话)。

在iCalendar文件中,每一行必须以CR+LF(十六进制代码为0D0A)为结尾。每一行不得超过75字节/八字节。如果一行数据长于这个限制,则必须换行;后面一行使用空格符(十六进制代码为20)或者制表符(十六进制代码为09)作开始,以表示本行内容是上面一行内容的继续。内容数据中的换行符,可以反斜杠符'/'后跟数字(UTF-8中为5C 6E或5C 4E)来表示。

iCalendar的MIME类型被定义为text/calendar。


BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:uid1@example.com
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR

维基百科地址:http://zh.wikipedia.org/wiki/ICalendar

来源:亦有软件
软件产品Eysln Software Product
亦有公告Eysln Notice
案例中心Eysln Template
知识库Eysln Knowledge Base
工具箱Eysln Toolkit Online