コンテンツへスキップ
uencoder

Base91

Base91 はバイナリデータを 91 種類の印刷可能 ASCII 文字へ符号化する方式であり、膨張率は約 23% で Base64 よりコンパクトである。

目的

出力全体を印刷可能 ASCII に保ったままアルファベットの利用率を最大化し、符号化のオーバーヘッドを減らす。

メカニズム

入力 13 ビットごとに基数 91 の文字 2 文字を対応させる(91^2 = 8281 > 2^13 = 8192)。入力からビットを蓄積し、13 ビットが揃った時点で文字のペアを出力し、末尾の不足グループは 1 文字を出力する。

ユースケース

  • コンパクトなバイナリからテキストへの表現
  • データ URI へのバイナリ埋め込み
  • QR コードでの高密度データエンコード
  • ログやデバッグ出力

例

  • 入力
    Hello World
    Output
    >OwJh>Io0Tv!lE

    About 10% shorter than Base64

よくあるエラー

Assuming Base91 is a standardized encoding (it is a non-RFC proposal)
Make sure both sides use the same implementation and alphabet

関連用語

関連ツール

References