ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
バイナリ形式のコンテナーフォーマットの一つで、汎用のデータフォーマット。
いくつかのプリミティブタイプとデータ構造(Raw、Map、List)を提供するフォーマットである。
MessagePackが持つ型は汎用の型なので、実際にプログラミング言語から用いる際には、それぞれの言語の型にマッピングして用いる。
つまり、データ構造(Raw、Map、List)については枠組みのみを定義し、その使い方については上位のレイヤー(アプリケーション)に委ねる方針となっており、このため応用が利きやすい。
Issue 121とは、文字列型が必要だという提案と、その後の議論である。
MessagePackは元々文字列とバイナリ列を区別しなかったため、この議論が生じた。
MessagePackでも、文字列自体はバイナリ列として扱うことが可能である。文字列は、フォーマットで対応するか、アプリケーションで処理するかの違いである。
この考え方の違いが、MessagePack陣営と、文字列型を要求する人たちとの間でのずれとなった。
MessagePackでも、Issue 121に対応するため、文字列型をフォーマットに追加するための議論や実装が進められた。追加するにしても、どのようなフォーマットとして、どのように後方互換性を維持するかが重要な問題となる。そして様々な言語に存在する実装が、その仕様変更に追従できるかも必要である。
そのさなか、第三者により、MessagePackをベースに、UTF-8による文字列型を定義したBinaryPackが作られた。BinaryPackは95% MessagePackだとされ、つまりいくらか互換性を欠いていることを自ら認めている。
それだけならまだしも、この第三者により作られたBinaryPackがI-DとしてIETFに提案され標準化されようとしたために、騒動を招いた。
MessagePackとしては、標準化されることは特に損はないため歓迎してはいるようだが、しかし文字列についてはまだ策定中の段階であり、文字列が異なるフォーマットで扱われるforkが標準化されるのは、MessagePackとしては迷惑である。
BinaryPackは、他のプロジェクトで必要だという理由でIETF標準化を急いでいるとされるが、提案中の仕様は、改良点がある一方で後方互換性が失われていることから、MessagePack側は反対を表明している。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます