Lua 5.3、108097107033101バイト、スコア28 27
load(([[REPLACE]]):gsub([[[<>]-{()}]],[[%1]]):gsub([[...]],([[]]).char))()
ここでREPLACEは、長さ108097107033034のフリーキャラクターの文字列に置き換えられます。文字列は{}、特定のキー位置に配置することによりデータをエンコードします。最初gsubは、文字列を{}sのインデックスで置き換えます(空のキャプチャグループを介して())。2番目gsubは、この結果の文字列を3桁のブロックに分割し、各ブロックをASCII表現で置き換えます。
Luaの生の文字列の構文は(基本的に)[[string contents]]であることに注意してください。これはスコアを減らすのに非常に便利です。
私が生成している(エスケープされていない)文字列はですprint"Surprise!\nHappy Birthday, Brain-Flak!"。各文字を3桁の10進数のASCIIコードに置き換えると、が得られ112114105110116034083117114112114105115101033092110072097112112121032066105114116104100097121044032066114097105110045070108097107033034ます。私が使用するコードは、最初のゼロで始まらない自然数の増加するシーケンス(少なくとも2つ離れている)のみを生成できます。したがって、この数はに分割され11, 2114, 105110, 1160340, 83117114, 112114105, 1151010330, 9211007209, 71121121210, 320661051141, 1610410009712, 10440320661140, 97105110045070, 108097107033034ます。(この最後の数字はREPLACE値の長さです。パターンの最後の一致はfinalのインデックスを与えるため、}Lua-indicesは1から始まることに注意してください。最後の数字が奇数の場合、パターンと文字列は少し変更する必要がありますが、難しくはありません。)
このプログラムは大きすぎるため、実際には生成および実行しませんでした(理論的には64ビットマシンで動作する可能性がありますが、ハードドライブに収まりません)。
概念実証として3、同じ原理を使用して印刷する小さなプログラムを次に示します。
p=print
load(([[<<><><><>{}<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>{}<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>{}><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>{}]]):gsub([[[<>]-{()}]],[[%1]]):gsub([[...]],([[]]).char))()
これにより、splitをp"3"介した数値112034051034を介してコード文字列が生成され11, 203, 405, 1034ます。