ルール
- プログラムには、 encodingとdecryptionの 2 つのモードが必要です。
エンコード時:
- あなたのプログラムは、人間が読める
Latin1
テキスト、おそらく英語を入力として取らなければなりません。- 句読点を無視しても問題ありません。
- L337ではなく、実際の英単語だけを気にする必要があります。
- アクセント付きの文字は、単純な ASCII に変換できます。
- 数値の処理方法を選択できます。
- 123
- 一二三
- 百二十三
- 123
- 1 2 3
- 百二十三
- 一二三
- 百二十三
- 123
- 1 2 3
プログラムは、次の式で表現できるメッセージを出力する必要があります。
U+0000
–<code>U+10FFFFの範囲の 140 コード ポイント非文字を除く:
U+FFFE
U+FFFF
U+
n
FFFE
、ここで-<code>10 16 進数U+
n
FFFF
n
1
U+FDD0
–<コード>U+FDEFU+D800
–<code>U+DFFF (サロゲート コード ポイント)。
任意の適切なエンコーディングで出力できます。GNU
iconv
でサポートされているエンコーディングは妥当であると見なされ、プラットフォーム ネイティブのエンコーディングまたはロケール エンコーディングが適切な選択となる可能性があります。- あなたのプログラムは、人間が読める
デコード時:
- プログラムは、エンコーディングモードの出力を入力として受け取る必要があります。
- テキスト出力は、入力テキストの近似値である必要があります。
- 元のテキストに近づくほど、より良い結果が得られます。
- 句読点は必要ありません。
出力テキストは、おそらく英語で、人間が読めるものでなければなりません。
- L337、または笑することができます。
- 復号化プロセスは、上記で指定された出力以外の符号化プロセスの他の出力にアクセスできない場合があります。つまり、テキストをどこかにアップロードして、デコード プロセス用の URL を出力してダウンロードすることはできません。
- ユーザー インターフェイスの一貫性を保つために、プログラムは次のように動作する必要があります。
- プログラムは、適切なインタープリターを使用してプラットフォーム上で実行可能に設定できるスクリプト、または実行可能ファイルにコンパイルできるプログラムである必要があります。
- プログラムは、モードを設定するために、
encode
またはのいずれかを最初の引数として取らなければなりません。decode
- プログラムは、少なくとも次のいずれかの方法で入力を受け取る必要があります。
- 標準入力から入力を受け取り、標準出力に出力を生成します。
my-program encode <input.txt >output.utf
my-program decode <output.utf >output.txt
- 2 番目の引数で指定されたファイルから入力を受け取り、3 番目で指定されたファイルに出力を生成します。
my-program encode input.txt output.utf
my-program decode output.utf output.txt
- 標準入力から入力を受け取り、標準出力に出力を生成します。
- あなたの解決策については、投稿してください:
- コード全体、および/または他の場所でホストされているコードへのリンク (非常に長い場合、またはコンパイルに多くのファイルが必要な場合など)。
- コードからすぐに明らかでない場合、またはコードが長く、人々が要約に興味を持っている場合、それがどのように機能するかの説明。
- 元のテキスト、圧縮後のテキスト、およびデコードされたテキストを含むテキストの例。
- 他の誰かが持っていたアイデアに基づいて構築している場合は、それらを帰属させてください. 他人のアイデアを改良しようとするのは問題ありませんが、その人に帰属する必要があります。
このルールは、Twitter 画像エンコード チャレンジのルールのバリエーションです。