DにBasic Encoding Rulesコーデックを書き込もうとしていますが、長さバイトが0x80
に設定された、長さが不定のエンコードのデータをエンコードする機能が必要です。値のバイトの終わりは、 null 0x00 0x00
(コンテンツの終了)。ただし、2つのnullがエンコードされる実際の値の一部である場合があります。たとえば、OCTET STRING
がある場合、隣接する2つのバイトは0x00 0x00
となり、符号化された値の一部ではなくEND OF CONTENT
と解釈され、結果として符号化された値が切り捨てられます(最善のシナリオ)。 END OF CONTENT
と解釈されることなく、ダブルヌルをエンコードする方法はありますか?または、二重NULLを持たない値のみをエンコードすると予想されますか?私はまだこれについて何らかの仕様で見つけなければならない。BERで無限の長さでエンコードされたオクテット文字列内で、二重ヌルオクテットをどのようにエスケープしますか?
1
A
答えて
2
0x80と0x00 0x00の間にプレーンなOCTET STRINGコンテンツを置くことはありません。代わりに、そこに明確な長さのコード化されたOCTET STRINGの[可能性のある部分]を入れます。言い換えれば
は、不定長エンコードされ、単一オクテットは、「AB」ASCII文字列をチャンク(例えば0x41から0x42に16進数)次のようになります。
0x24 0x80 0x04 0x01 0x41 0x04 0x1 0x42 0x00 0x00
^ ^ ^ ^
outer header inner chunk #1 inner chunk #2 outer EOO sentinel
最終的な結果は、デコーダが持っていないということですペイロードマージンが明確な長さのエンコードされたピースによって明確に定義されるため、EOOマークを検索する実際のペイロードをスキャンする必要があります。
関連する問題
- 1. 二重にエスケープされたユニコード文字列を扱う
- 2. URLでエンコードされた文字列の長さを.NET内のマルチバイト文字で制限する
- 3. 、どのようにUTF-8でエンコードされた文字列
- 4. PHPでJavaScriptエンコードされた文字列をエスケープする
- 5. セット内の文字列の長さを制限しますか?
- 6. YAML:エスケープされた二重引用符で文字列を解析中にエラーが発生しました
- 7. 文字列の長さを150文字に制限するにはどうすればよいですか?
- 8. Pythonで入力された文字列の長さを制限します
- 9. ANTLRv4:二重引用符をエスケープした文字列の二重引用符を読み取るにはどうすればよいですか?
- 10. どのようにカンマで文字列を分割する(、)が、二重引用符(「」)内のカンマを無視し
- 11. regex:エスケープされた二重引用符で囲まれた文字列をマッチングする方法は?
- 12. 構文PHP二重引用符文字列内のネストされた配列要素にアクセスするため、私はこのように、二重引用符文字列内のネストされた配列要素にアクセスしようとしてい
- 13. PHPの文字列から二重引用符をエスケープできますか?
- 14. Androidで文字列リソースの長さ制限を設定するにはどうすればよいですか?
- 15. のVertica - 文字列のオクテット長
- 16. .Net XMLのシリアライズとエスケープまたはエンコードされた文字
- 17. React-nativeでデコードされたbase64でエンコードされた文字列
- 18. 長いエンコードされた文字列をサーバーにアンドロイドでアップロード中のjava.net.SocketTimeoutException
- 19. Androidの文字列の長さを制限するにはどうすればよいですか?
- 20. "二重引用符で囲まれた文字列よりも一重引用符で囲まれた文字列が優先されます。" jsで?
- 21. このPerl文字列はどのようにエンコードされていますか?
- 22. TensorFlow文字列の長さはどのように取得できますか?
- 23. 二重エスケープされたユニコードURL
- 24. JavaScript/jQueryでどのように文字をエスケープしますか?
- 25. JSON.stringifyは、文字列化されるたびに二重引用符をエスケープします。
- 26. HttpGet経由で長い文字列(Base64でエンコードされた画像)を送信
- 27. javascriptを使用して二重引用符をエスケープ文字の二重引用符に置き換えるにはどうすればよいですか?
- 28. python3:エスケープされていないエスケープ文字で囲まれたエスケープ文字
- 29. 文字列内の文字列を文字列内で渡すにはどうすればよいですか?
- 30. C#の文字列で二重引用符のエスケープを避けるには?
この場合、外側のヘッダはコンストラクタとして表現され、0x24としてエンコードされる必要があります。識別子タグ(P/C)のビット6が構築されるように設定される。 – pepo
@pepo確かに!ありがとう! ;-) –