文字列のバイナリ サイズ (たとえば、文字列 s = "Ababa") を BITS (バイトではなく) で取得する方法。
質問する
1691 次
2 に答える
10
どのエンコーディングで?文字列の特定のバイナリ表現のビット数は、バイト数 * 8 です。
byte[] bytes = text.getBytes("UTF-8"); // Or whatever encoding you want
int bits = bytes.length * 8;
バイトの端数を許可するエンコーディングを見たことがないと思います。
text.length() * 16
UTF-16 に興味がある場合は、それぞれchar
が UTF-16 コード単位であるため、そのまま使用できることに注意してください。
于 2012-07-07T14:07:37.900 に答える
5
バイトを取得し、8 を掛けます...
"xxx".getBytes().length * 8;
編集:Jon Skeet の回答とマージすると、エンコーディングを指定することも重要になる可能性があります。そうしないと、システムのデフォルトのエンコーディングを使用してサイズが返されますが、それは必ずしも知りたいことではありません。特定のエンコーディングを使用してサイズを知るには、次を使用します。
"xxx".getBytes(encoding).length * 8;
エンコーディングは、「UTF-8」、「ASCII」、または使用したいものです。
于 2012-07-07T14:08:25.183 に答える