Description
Fold a single iCalendar content line without splitting Unicode code points, budgeting UTF-8 octets including one continuation space; limit 5–75, no CRLF terminator added.
iCalendar separates content-line framing, property values, parameters and component nesting. TEXT escaping protects separators, while line folding is based on encoded octets. DATE, floating time, UTC and named-zone representations carry different information; a token-level operation does not resolve a timezone or expand recurrence rules.1
Fold a single iCalendar content line without splitting Unicode code points, budgeting UTF-8 octets including one continuation space; limit 5–75, no CRLF terminator added.
When to use this tool
Use this tool to fold a single iCalendar content line without splitting Unicode code points, budgeting UTF-8 octets including one continuation space; limit 5–75, no CRLF terminator added.
How to use the tool and how it works
- Enter line, limit using the field definitions below.
- Run the operation. Correct input errors before interpreting an output.
- Read result.lines, result.folded. Use the ordering, boundary rules and absence conditions described below.
Walk Unicode code points and count their UTF-8 bytes. Fold before exceeding the supplied 5–75 byte limit, prefix continuation lines with one space, and join lines with CRLF.2
| Input field | Meaning and units | Accepted input |
|---|---|---|
| line | One unfolded content line without CR or LF. | Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies. |
| limit | Physical fold-line limit in UTF-8 bytes, integer 5–75 including continuation space. | A finite safe integer within the operation’s stated bounds. |
| Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.lines | Folded physical-line strings; continuation lines begin with a space. |
| result.folded | Physical lines joined by CRLF. |
{
"input": {
"line": "abcdéx",
"limit": 5
},
"output": {
"result": {
"lines": [
"abcd",
" éx"
],
"folded": "abcd\r\n éx"
}
}
} Limitations and assumptions
- The continuation space counts toward the limit; this preserves code points without validating full property semantics.
- Content spans use zero-based UTF-16 offsets; fold limits use UTF-8 bytes including the continuation space. Token helpers handle the stated subset only, without a timezone database, recurrence engine or calendar import.
- Every declared top-level input field is required and unexpected fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and no larger in absolute magnitude than the safe-integer limit; operations returning exact large integers use decimal text. Positions are zero-based and spans end exclusively unless the operation explicitly states a different convention.
Alternative or Complementary methods
Keep content-line syntax, value escaping and timezone interpretation separate. Use a complete iCalendar implementation for recurrence expansion, timezone transitions and property-specific validation.
References
Similar or alternative tools
- iCalendar Content Line Name Parameter Split
Split an unfolded iCalendar content line at its unquoted first colon and semicolon parameter boundaries; value remains opaque, raw parameters retain quote-aware spelling, no RFC 6868 decoding or component validation.
- iCalendar Content Line Record Formatter
Format one unfolded iCalendar content line from explicit raw already-encoded parameter/value tokens; rejects CRLF injection, no automatic TEXT escaping or RFC 6868 parameter encoding.