是否应在iCalendar(rfc2445)中的TEXT值中转义冒号字符?

时间:2009-10-19 18:41:36

标签: standards escaping icalendar rfc2445

通过阅读规范(http://www.ietf.org/rfc/rfc2445.txt),我的理解是“:”字符应在文字值中进行转义,例如DESCRIPTION。

来自RFC:

  

“TEXT”属性值也可以   包含特殊字符   用于表示分隔符,例如a   值列表的COMMA字符   或者是SEMICOLON角色   结构化价值观为了   支持包含这些特殊内容   “TEXT”属性中的字符
  值,它们必须用a来逃逸   BACKSLASH字符。一个BACKSLASH
  a中的字符(US-ASCII十进制92)   “TEXT”属性值必须为
  用另一个BACKSLASH转义   字符。中的COMMA字符   “TEXT”属性值必须被转义   带有BACKSLASH字符
  (US-ASCII十进制92)。一个SEMICOLON   “TEXT”属性中的字符
  值必须使用BACKSLASH进行转义   字符(US-ASCII十进制92)。   但是,“TEXT”中的COLON字符   属性值不得转义   带有BACKSLASH字符。

我问这个是因为我在Meeting Maker v8.7.1b63中因为这个字符而在Mac OS X中收到语法错误,但是对于Windows版本的软件(版本号相同)没有。我正在用我编写的软件生成的ics文件令人窒息。这是我的软件中的错误吗?

这是收到错误的iCalendar文件:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//abc/abc//NONSGML v1.0//EN
BEGIN:VEVENT
UID:1234_abcd@abc.abc
DTSTART:20091022T133000
DTEND:20091022T150000
SUMMARY:Special Topics in Power Point
LOCATION:The Location 
DESCRIPTION:Learn how to use PowerPoint as a tool to organize and pres
 ent your ideas to others.  Basic computer skills are required.  This h
 ands-on workshop will provide you with experience in the following: wh
 at's new in PowerPoint 2007\, presentation basics\, working with text
 \, viewing a presentation\, formatting\, finalizing a presentation and
  delivering a presentation.
END:VEVENT
END:VCALENDAR

请注意描述第三行的冒号。向此冒号添加斜杠可以修复Mac上的问题,但我认为根据标准这是不正确的。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

这似乎是他们软件中的一个错误。

  

“然而,一个COLON角色   “TEXT”属性值不应该是   使用BACKSLASH字符进行转义。“

非常简单。

看看他们是否有任何补丁。 如果没有,请尝试联系他们并告诉他们。