問題タブ [base85]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
3153 参照

encoding - バイナリ データを ascii チャネル経由で送信する必要がある場合、どのテキスト エンコーディング スキームを使用しますか?

エンコードする必要があるバイナリ データがある場合、どのエンコード スキームを使用しますか?

私は知っています:

  • 16 進エンコーディング。非常に単純ですが、非常に冗長で、1 バイトを 2 に拡張します。
  • ベース64。最も一般的ですが、それほど冗長ではありませんが、3 バイトを 4 に拡張します。
  • ベース85。一般的ではなく、冗長ではありませんが、4 バイトを 5 に拡張します。

一般的に使用されている他のエンコード方式はありますか? もしそうなら、どのような利点と欠点がありますか?

編集: これは、たとえば、任意のデータを Cookie に保存しようとする場合に役立ちます。Cookie はテキストのみを保存でき、任意のデータは保存できないため、何らかの方法で、できれば元に戻す方法で変換する必要があります。さらに、ステートレス サーバーを使用しているため、状態をサーバーに保存できず、識別子を Cookie に入れるだけであるとします。もちろん、これを行う場合、ユーザーがあなたに返しているものが、たとえば署名など、ユーザーに渡したものであることを確認する何らかの方法も必要になります。

また、現在のコンセンサスは base64 が広く使用されているため使用する必要があるということなので、これが私が使用しているものであることも指摘します... 誰かが他のものを使用したかどうか、もしそうならその理由.

編集:誰かがこれに出くわした場合に備えて、Base64 を使用してデータを Cookie に保存する場合は、変更された Base64 実装を使用する必要があります。理由については、この回答を参照してください。

0 投票する
2 に答える
747 参照

go - Ascii85 をデコードする長さを取得する

ascii85 には、エンコーディングの最大長を取得する機能がありますMaxEncodedLen()

Base64のようにデコード時に長さを取得する機能もあればいいと思います。

http://golang.org/pkg/encoding/ascii85/

0 投票する
2 に答える
5079 参照

java - Base85 別名 ASCII85 Java プロジェクト

クラスのようなことをするcom.idataconnect.lib.ascii85codec Java プロジェクト以外について知っている人はいorg.apache.commons.codec.binary.Base64ますか?

0 投票する
1 に答える
1315 参照

ios - iOS 用の ascii85/base85 エンコーダー/デコーダーはありますか?

base64 エンコーディングとデコーディングはもはや問題ではないようですが ...

誰かがascii85エンコーダー/デコーダーの実装を持っているか、ライブラリを知っていますか?

PS: BASE85 は RFC1924 などで使用されます。

0 投票する
1 に答える
2306 参照

php - 短い UUID、PHP の ASCII85

UUID v4について読みましたが、それは実質的に一意であり、それが必要です。問題は、数が多すぎることです。Facebook や Twitter のような UUID をより少ない文字数で生成することは可能ですか?

Ascii85でこのコードを20に縮小できる投稿を読みましたが、信頼できるPHPスクリプトが仕事をしているとは思えません。誰かがテストされたクラスを知っていますか?? ランダムIDの場合、この20文字を保存するのが最善の方法ですよね?

- - 編集 - -

@デビッド・シュワルツ

ありがとう。単一のサーバーに 8 ~ 16 文字のランダムな一意の識別子が必要です (最小の場合は 20 で問題ありません)。542A4B243J、C63426KJ70、O30V4U1I9Pなどのように、読み取り可能なIDでオブジェクトを識別しますが、インクリメンタルではありません(最初のオブジェクト10001、2番目のオブジェクト10002)。ID は、(少なくとも) 6 つの MySQL テーブルの主キーである必要があります。オブジェクトは、同じサーバーで PHP を使用して作成されます。

@ta.speot.is

私は「信頼できる PHP スクリプトが仕事をしているのを見ない。テスト済みのクラスを知っている人は??」と書いた。Google に表示されるすべてのコードがテストされているとは思いません。おそらくすべてのリンクをテストしましたか??

@サーノルド

ありがとうございます、すみません、よくわかりませんでした =(

0 投票する
1 に答える
933 参照

java - Base85(Ascii85)エンコーダーのサポートが必要

Base85ASCIIエンコーダー/デコーダー

ここで最初の参照を探してください->> Base85Wikipediaページ

私はJava用のBase85エンコーダー/デコーダーを作成していますが、完全なエンコーダーからのプログラミングやコードに対する答えや解決策は必要ありません。コードからソースを提供することはできますが、この質問は概念を理解することを目的としているため、不要です。そのウィキペディアページで概説されているすべての手順を、基数10の32ビットの合計値が基数85に変換される32ビット値ポイントまで正常にコードに含めました。

こちらをご覧ください->> Base85エンコーディングテーブル

つまり、具体的には、番号1298230816を取得できましたが、今は困惑しています。上記のように基数85で表される数値を取得するにはどうすればよいですか?(24 * 85 ^ 4; 73 * 85 ^ 3; 80 * 85 ^ 2; 78 * 85; 61)。それらの値を見つけるために、どのような数学的プロセスを実行しますか?

0 投票する
2 に答える
2381 参照

python - a85encode と b85encode の違いは何ですか?

Python 3.4 ではa85encodeandb85encode関数 (および対応するデコード関数) が追加されました。

2つの違いは何ですか?ドキュメントには、「エンコーディングに使用される文字マップなどの詳細が異なります」と記載されています。、しかし、これは不必要に曖昧に思えます。

0 投票する
0 に答える
688 参照

python - Pythonでbase85を使用してテキストファイルをエンコードおよびデコードする方法は?

以下のコードを使用して、Python でテキスト ファイルを正常に読み取り、Base85 に変換しました。ただし、各行が次のように記述されていることに気付きました: b'Rr(hAR(hX=Wf{sjSbZv'.

ファイルをデコードしようとすると、b85_encoded.txtこのエラーが発生しますValueError: bad base85 character at position 1

ファイルの書き込みおよび読み取り時に正しくエンコードおよびデコードするにはどうすればよいですか? ファイルへの書き込みやファイルからの読み取りを行わなくても、正しくエンコードおよびデコードできます。そのため、そこで何か間違ったことをしているようです。

あなたの助けに感謝します。