0

PostgreSQL で Base58 エンコーディング ストアド プロシージャを実装するのを手伝ってくれる人はいますか。

数字の答えを見つけましたが、TEXT または VARCHAR 値を受け入れることができる同様のストアド プロシージャを探しています。

4

1 に答える 1

1

この非常にまれな機会に、これを行わないことをお勧めします。計算上は可能ですが、あまりお勧めできません。

https://en.wikipedia.org/wiki/Base58

Base64 とは対照的に、エンコーディングの数字は元のデータのバイト境界とうまく整列しません。このため、この方法は大きな整数をエンコードするのに適していますが、バイナリ データの長い部分をエンコードするようには設計されていません。

別の言い方をすれば、Base58 は文字列/テキストをエンコードするようには設計されていません。主な選択肢は次のとおりです。

  • 人間が手動でコピーすると、人間が間違いを犯す可能性がある Base64。それ以外の場合、Base64 は安全にコピー/貼り付けできます
  • 人間が簡単にコピーできますが、Base64 よりもかなり長い 16 進数

Base64 ではなく Base58が本当に必要だと思われる場合は、要件を質問に編集する価値があるかもしれません。これは、誰かがあなたの要件により具体的な答えを与えるのに役立つかもしれません:

  • 変換する必要があるこれらの文字列は何ですか (例が望ましい)?
  • Base64 ではなく Base58 である必要があるのはなぜですか (これらを他のどのシステムに渡していますか)。
于 2016-09-14T18:40:09.053 に答える