Shorthand links: 68,960 / 256 = 269.375
ASCII only: 10,114 / 256 = 39.508
[][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1][][1]
[1]:ftp://^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Output is a sequence of elements that each look like:
<a href="ftp://%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E" rel="nofollow noreferrer"></a>
After the fixed overhead for creating the URL reference, each 5-character link expands into 42+strlen(url)
characters output. Craft the URL to have the maximum number of characters that need escaping, and this grows to 47+3*strlen(url)
characters per link. A little experimentation showed that the optimal output involved 26 links, with 114 carets per link.
Update:
If you interpret the "256 character" limit to include Unicode characters, you can squeeze out more chaos. Replacing the carets with the Unicode bathtub character (🛁, codepoint U+1F6C1) results in 47+18*strlen(url)
output characters per input character for a total of 54,574 68,960 (thanks to jimmy23013's even-shorter link notation).
Unicode input:
[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1]
[1]:ftp://🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁🛁
Output is a series of:
<a href="ftp://%EF%BF%BD%EF%BF%BD...per character...%EF%BF%BD%EF%BF%BD" rel="nofollow noreferrer">1</a>,