2

我通过阅读规范 ( http://www.ietf.org/rfc/rfc2445.txt ) 的理解是“:”字符应该在描述等文本值中转义。

来自 RFC:

“TEXT”属性值还可以包含用于表示分隔符的特殊字符,例如值列表的逗号字符或结构化值的分号字符。为了
支持在“TEXT”属性
值中包含这些特殊字符,它们必须使用 BACKSLASH 字符进行转义。
“TEXT”属性值中的 BACKSLASH字符(US-ASCII 十进制 92)必须
使用另一个 BACKSLASH 字符进行转义。“TEXT”属性值中的
COMMA 字符必须使用 BACKSLASH 字符
(US-ASCII 十进制 92)进行转义。“TEXT”属性中的分号字符
value 必须使用 BACKSLASH 字符(US-ASCII 十进制 92)进行转义。但是,“TEXT”属性值中的冒号字符不得使用 BACKSLASH 字符进行转义。

我之所以这样问,是因为我在 Mac OS X 的 Meeting Maker v8.7.1b63 中收到了语法错误,但由于这个字符,而不是 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 上的问题,但我认为根据标准这是不正确的。

谢谢你的帮助!

4

1 回答 1

3

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

“但是,“TEXT”属性值中的冒号字符不得使用 BACKSLASH 字符进行转义。”

很简单。

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

于 2009-10-19T18:54:47.070 回答