不导入也能读 .ics
iCalendar 文件容易接受,却不容易看清。日历应用会把它导入,但导入是一种承诺:事件落进你的日历,邀请可能被代你答复,而如果文件本身是错的,你现在还得把这些撤销回去。这个工具不导入,只是打开文件把里面的内容摊给你看。
会展示什么
日历自身的属性——PRODID、VERSION、CALSCALE、METHOD,以及 Google 和 Apple 会写入的 X-WR-* 扩展——然后是每一个 VEVENT、VTODO、VJOURNAL 和 VFREEBUSY,列在一张可排序、可搜索的表里。
展开其中一条,会显示这个组件携带的全部内容:UID、SEQUENCE、DTSTAMP、CREATED、LAST-MODIFIED、CLASS、TRANSP、PRIORITY、CATEGORIES、URL、GEO 和 DESCRIPTION;组织者和每一位参与者,连同角色、参与状态、RSVP 标志、日历用户类型以及任何委派;每一个 VALARM 的动作和触发器;还有带行号的原始属性行,让任何东西都不会藏在一层解读背后。
提醒触发器会被解析出实际时间
触发器通常写成一个时长——-PT15M——相对于事件的开始;若属性带有 RELATED=END,则相对于结束。原始值和它解析出的时刻会同时显示:只给原始值,等于把日历算术丢给你;只给时刻,则掩盖了文件实际使用的是哪种写法。
时区,以及偏移量从哪里来
一个 .ics 可能写的是真实的 IANA 时区名(Europe/Vienna),也可能是只有作者自己知道的名字(custom_America/New_York,或者微软那套 Romance Standard Time);后一种情况下,文件里会带一个 VTIMEZONE 自己描述偏移量——每条观察规则各有一条重复规则,说明时钟何时变更。
当 TZID 是真实时区名时,偏移量取自浏览器自带的 IANA 库;不是时,则取自内嵌的 VTIMEZONE。每个时区都会注明实际用的是哪一种,并列出每条 STANDARD 和 DAYLIGHT 观察规则及其规则文本。
既没有 TZID、结尾也没有 Z 的时间是浮动时间:在选定一个时区之前,它根本没有绝对时刻。这类时间会被标出,而不是被悄悄当成 UTC。
附件
以 base64 内嵌保存的附件可以下载。以 URI 形式保存的附件只按文本显示,绝不会去抓取——本工具不发出任何网络请求,而抓取会让发送文件的人知道你打开过它。
格式有误的文件
不是合法内容行的行,以及始终没有用 END 闭合的组件,都会连同行号一起报告出来,而不是被悄悄丢掉。
Tiny Online Tools







