Expand description
Content lines, the text format vCard (RFC 6350 §3) and iCalendar (RFC 5545
§3.1) share: NAME;PARAM=VALUE:value, folded at 75 octets.
Sioul changes cards and events line by line: the lines it edits are replaced, every other line is kept byte for byte, so a photo, another application’s fields or a time zone it does not show come back exactly as they were.
Constants§
- BASE64 🔒
Functions§
- base64_
decode - Base64 back into bytes; spaces and line breaks are skipped. None when it is not base64.
- base64_
encode - RFC 4648 base64, as Autocrypt headers and Basic authentication carry it.
- caret_
decode 🔒 - RFC 6868: “^’” is a quote, “^n” a line break, “^^” a caret.
- colon 🔒
- Where a line’s value starts: its first colon outside quotes.
- escape
- A text value, escaped (RFC 6350 §3.4, RFC 5545 §3.3.11). A line break, CR alone too, is “\n”: nothing written here can start a line of its own; other control characters, which text may not hold, are left out.
- fold
- Lines back into text: CRLF, folded at 75 octets without cutting a character.
- name
- A line’s property name, uppercase, without its group: “item1.EMAIL;TYPE=…” → “EMAIL”.
- param
- One parameter’s value, the first time it is given.
- param_
value - A parameter value as written: quoted when it holds what would end it (RFC 5545 §3.2); quotes and line breaks in RFC 6868’s caret form.
- params
- A line’s parameters, in order: names uppercase, values without their quotes (“ALTREP="sioul:contact/x"” → (“ALTREP”, “sioul:contact/x”)); a parameter without “=” comes with an empty value.
- structured
- The parts of a structured value (N, ADR), each escaped, joined by semicolons.
- unescape
- A text value as written, unescaped.
- unfold
- The logical lines of a text, folded lines joined again (a line starting with a space or a tab continues the one before).
- value
- A line’s value, after the first colon outside quotes.