规则
你的程序必须有两种模式: 编码和解码。当编码时:
你的程序必须以一些可读的
Latin1
文本作为输入,可能是英语。无论如何忽略标点符号都没有关系。
您只需要担心实际的英语单词,而不是L337。
任何带重音符号的字母都可以转换为简单的ASCII。
您可以选择如何处理数字。
123
- one two three
- one hundred twenty three
- 123
- 1 2 3
- one two three
- one hundred twenty three
- 123
- 1 2 3
您的程序必须输出一个可以用140个代码点表示的消息范围在
U+0000
–U+10FFFF
之间。不包括非字符:
U+FFFE
U+FFFF
U+
n
FFFE
,U+
n
FFFF
其中n
是1-10十六进制U+FDD0
–U+FDEF
U+D800
–U+DFFF
(代理代码点)。
iconv
支持的编码都将被视为合理,您的平台本地编码或区域设置编码可能是一个不错的选择。当解码时:
您的程序应该以编码模式的输出作为输入。
文本输出应该是输入文本的近似值。
越接近原始文本越好。
不需要有任何标点符号。
输出文本应该可供人类阅读,再次假定为英语。
可以是L337或lol。
解码过程可能无法访问编码过程的任何其他输出,除了上面指定的输出;也就是说,您不能上传文本并输出URL,以便解码过程下载,或者像那样愚蠢的事情。
为了保持用户界面的一致性,您的程序必须按以下方式运行:
您的程序必须是一个可以在具有适当解释器的平台上设置为可执行文件的脚本,或者可以编译成可执行文件的程序。
您的程序必须将其第一个参数设置为
encode
或decode
以设置模式。您的程序必须通过以下至少一种方式接受输入:
从标准输入中获取输入,并在标准输出上产生输出。
my-program encode <input.txt >output.utf
my-program decode <output.utf >output.txt
my-program encode input.txt output.utf
my-program decode output.utf output.txt
对于您的解决方案,请发布:
您的完整代码和/或托管在其他地方的链接(如果它非常长,或需要许多文件来编译,或其他什么)。
如果代码不是立即显而易见的,或者代码很长,人们会对摘要感兴
规则是Twitter图像编码挑战规则的变体。