2017-08-28 9 views
0

非常に単純な質問ですが、文字列のデータ量(バイト)はどれくらいですか? 1文字あたり1バイトを占有していますか?文字列データ型はどのくらいのデータを占有しますか?

私はそれを探してみましたが、WSの学校は、私は私のウェブアプリで帯域幅を削減するために、これを知ってほしい...

を言っていません。

また、知っている人のために、socket.emit()を使用するとsocket.ioは自動的にjson文字列化されます;

+0

帯域幅について心配している場合は、 [MessagePack](http://msgpack.org)。 – abagshaw

+0

私はsocket.ioを使用しています。すでに使用している他の文字列化メソッド(JSON)を使用するのに十分な柔軟性はないと思います – Canatron

+1

私はそれを動作させる方法を見つけることができると確信しています。簡単な検索でこの[MessagePackに基づいたsocket.ioパーサー](https://github.com/darrachequesne/socket.io-msgpack-parser)をプルアップします。 – abagshaw

答えて

1

文字列は文字配列です。したがって、今のところは、sizeof(char) * noOfCharactersという文字列クラスの他のフィールドは無視されます。文字は、システム、表示されている文字の種類(ユニコードなど)に応じて、1バイトまたは2バイトになります。 しかし、あなたの質問から、ネットワーク上で転送されるデータにもっと興味があります。データは常にバイト(byte[])で交換されるため、文字列は最初にbyte []表現に変換されてから移植されます。 帯域幅の使用を制限するには、圧縮を有効にして、相互運用可能なシリアル化手法(protobuf、smile、fastinfosetなど)を選択します。

関連する問題