iCalendar (.ics) 和 vCalendar (.vcs) 之间的区别

59

我想通过邮件附件发送预订信息,以便添加到MS Outlook中。 哪种格式更好?特别是对于MS Outlook 2003来说?

5个回答

45

iCalendar 基于 vCalendar 标准,Outlook 2007 可以很好地处理这两种格式,所以选择哪种格式并不重要。

我不确定 Outlook 2003 是否也支持这两种格式。建议您尝试一下。

Outlook 的默认日历格式是 iCalendar (*.ics)。


22
请注意,vCalendar已经非常古老 (>14年),实际上不应再使用,除非出于向后兼容的目的。如果生成新数据,请使用iCalendar! - Evert
1
微软Outlook和苹果日历兼容哪个RFC协议,请问您能否更新一下,因为答案已经很老了。 - user285594

38

ics和vcs文件都是ASCII格式的。如果您使用“另存为”选项将日历条目(约会、会议请求/回复/推迟/取消等)保存为ics和vcs格式,并使用vimdiff,您可以轻松查看差异。

vcs(vCal)和ics(iCal)都属于同一VCALENDAR阵营,但是vcs文件显示“VERSION:1.0”,而ics文件使用“VERSION:2.0”。

vCalendar v1.0的规范可以在http://www.imc.org/pdi/pdiproddev.html找到。iCalendar(vCalendar v2.0)的规范在RFC5545中。总的来说,更新的版本通常更好,在Outlook 2007及更高版本中也是如此,但对于Outlook 2003则不然。

对于Outlook 2003,它的行为很奇特。它可以将相同的日历条目保存为ics和vcs格式,但是它只能正确地读取和显示vcs文件。它可以读取ics文件,但它会忽略一些字段并且无法以日历模式显示它。我猜当时微软想提供ics以兼容Mac的iCal,但还没有完全致力于v2.0。

因此,我认为对于Outlook 2003,vcs是其本地格式。


我开始怀疑它们是文本文件,每当我将其导出到各种设备时,它们似乎总是丢失我在Outlook中定义的格式。 - jxramos

5
您可以尝试使用VCS转ICS文件转换器(Java,适用于Windows、Mac、Linux等操作系统)。它具有解析事件和待办事项的功能。您可以使用蓝牙导出或通过nbuexplorer将由您的诺基亚手机生成的VCS文件进行转换。
  • 完全支持UTF-8
  • 引用可打印编码字符串
  • 完全开源代码(GPLv3和Apache 2.0)
  • 标准iCalendar v2.0输出
  • 同时编码多个文件(每个文件只有一个事件)
  • 与Android、iOS、Mozilla Lightning/Sunbird、Google日历等兼容
  • 多平台支持

尽管.icsvcs的后继者(在内部它们被称为version1和version2),但您可能不需要转换任何内容,而且vcs仍然可以工作。 VCS to ICS文件转换器非常注意编码,但它会丢弃相当多的字段,这意味着您将失去信息。因此,首先尝试使用vcs,然后再转换为ics - trapicki

4

VCS文件中的信息可能会以可引用的编码方式进行编码,这是一场噩梦。上述解决方案建议使用“VCS转ICS日历转换器”。


3

新的iCalendar格式附带更多的数据,包括创建事件的人的信息,这样在将其导入Outlook(例如)时,对该事件的更改通过电子邮件通知创建者。当您需要通知他人有任何更改时,这很有帮助。

然而,当我仅从我的一个日历导出事件到另一个日历时,我更喜欢使用vCalendar,因为如果我进行更改或删除某些内容,它不需要向创建者(通常是我自己)发送电子邮件消息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接