問題 #2 - 回答 #68

Base32

RFC 4648 で定義された Base32 エンコーディングを実装してください。 標準入力から与えられる各行に対し、Base32 エンコードをおこなった文字列を標準出力へ改行区切りで出力してください。 なお、アルファベットの出力には大文字を用いてください。

回答 #68

oogFranz が 2024-03-08 11:16:28 に投稿

コード

203 byte

<?$t=str_split('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567');while($l=fgets(STDIN)){for($b='';$c=ord($l[$i++]);)$b.=str_pad(decbin($c),8,0,0);echo str_replace('=','',chunk_split(strtr($b,'01',$t),8,'======'))."\n";}

実行結果

ステータス: 失敗

テストケース 1

ステータス: 実行時エラー

標準出力


Warning: Undefined variable $i in php.wasm code on line 6

Warning: String offset cast occurred in php.wasm code on line 6

Warning: Uninitialized string offset 5 in php.wasm code on line 6

Fatal error: Uncaught TypeError: strtr(): Argument #3 ($to) must be of type ?string, array given in php.wasm code:6
Stack trace:
#0 php.wasm code(6): strtr('011010000110111...', '01', Array)
#1 {main}
  thrown in php.wasm code on line 6

標準エラー出力


テストケース 2

ステータス: 実行時エラー

標準出力


Warning: Undefined variable $i in php.wasm code on line 6

Warning: String offset cast occurred in php.wasm code on line 6

Warning: Uninitialized string offset 16 in php.wasm code on line 6

Fatal error: Uncaught TypeError: strtr(): Argument #3 ($to) must be of type ?string, array given in php.wasm code:6
Stack trace:
#0 php.wasm code(6): strtr('111000111000000...', '01', Array)
#1 {main}
  thrown in php.wasm code on line 6

標準エラー出力


テストケース 3

ステータス: 実行時エラー

標準出力


Warning: Undefined variable $i in php.wasm code on line 6

Warning: String offset cast occurred in php.wasm code on line 6

Warning: Uninitialized string offset 8 in php.wasm code on line 6

Fatal error: Uncaught TypeError: strtr(): Argument #3 ($to) must be of type ?string, array given in php.wasm code:6
Stack trace:
#0 php.wasm code(6): strtr('001100010011001...', '01', Array)
#1 {main}
  thrown in php.wasm code on line 6

標準エラー出力


テストケース 4

ステータス: 実行時エラー

標準出力


Warning: Undefined variable $i in php.wasm code on line 6

Warning: String offset cast occurred in php.wasm code on line 6

Warning: Uninitialized string offset 6 in php.wasm code on line 6

Fatal error: Uncaught TypeError: strtr(): Argument #3 ($to) must be of type ?string, array given in php.wasm code:6
Stack trace:
#0 php.wasm code(6): strtr('011000010010000...', '01', Array)
#1 {main}
  thrown in php.wasm code on line 6

標準エラー出力