JSON文字列がある場合、それを格納するのに必要なバイト数をどのように計算しますか?

JSON文字列がある場合、それを格納するのに必要なバイト数をどのように計算しますか?

Webページにjson文字列形式が表示されています。私が知りたいのは、このjson文字列に必要なバイトサイズです。
コピーしてパイプすることで文字数をwc -c得ることができますが、1000インターネット検索で提案を見たように、json文字列が1000バイトという意味ではありません。
私が混乱している理由は次のとおりです。
Javaでは、たとえばaはで構成Stringされ、char各文字はutf-8をサポートするために2バイトです。 Jsonはutf-8もサポートしているので、json文字列のサイズが2000バイトであるべきかどうかを検討する必要があるのか​​、それともこの問題を解決する方法があるのか​​わかりません。

ベストアンサー1

AFAIK、Javaは内部的にU + 0000からU + FFFFまでの文字(文字ではなくU + D800..U + DFFFを除く)が16ビット(2バイト)でエンコードされているUTF-16を使用し、他のすべての文字(U + 10000〜U + 10FFFF)は32ビット(2つの16ビットニブル、4バイト)です。

JSON文字列は通常、最新バージョンのUTF-8でエンコードされます。RFC、さらに交換が必要)。

UTF-8は、文字に応じて1〜4バイトの文字をエンコードします。特に、すべての文字はString1バイトにエンコードされます。

明らかに、"JSON文字列には、周囲に2バイトを追加する(シングルバイト)文字があります。文字をエスケープできます

例えば、

おすすめ記事