私の以前の課題である、目に見えないテキストを印刷することは非常に一般的でした。
しかし、あなたをもっと注意深く見ている人は、出力だけでは入力されたものを読むことは不可能なので、実際には目に見えないテキストを印刷していないことに気付いているかもしれません。
だから私は本当の目に見えないテキストの挑戦はどうだろうと考えました。
印刷可能なASCII文字(0x20-0x7E
)のみで構成される文字列が与えられた場合、各文字を95の印刷可能なASCII文字(0x20-0x7E
範囲外のUTF-8文字)のいずれでもない個別のUnicode文字(UTF-8エンコード)に変換します
入力
文字列または文字配列/リストとしての印刷可能なASCII文字の文字列
出力
各文字が個別の非印刷可能文字に置き換えられた入力文字列。指定された各文字には、他の文字の代替として使用されない、対応する印刷不可能な文字が必要です。
印刷できない文字を印刷できない場合は、代わりに文字値を出力できます。
例えば、あなたのコードは、すべて小文字で置き換えた場合a
「でね0x01
、あなたが使用することはできません0x01
他の文字の代用として。
また、コードは確定的でなければなりません。文字列を指定した場合など、この手段Hello
、すべて小文字l
のがで置き換えられ0x03
、また、すべて小文字を交換する必要があり、あなたのコードは、l
とS '0x03
指定した任意の他の文字列。
テストケース
このチャレンジのテストケースを書くのは少し難しいので、出力を16進コードのリストとして表示します
input -> output
"Hello" -> [0x01, 0x02, 0x03, 0x03, 0x04]
"Hi!" -> [0x01, 0x05, 0x06]
"" -> []
" H " -> [0x07, 0x07, 0x07, 0x01, 0x07, 0x07, 0x07]
"yo! " -> [0x08, 0x04, 0x06, 0x07]