
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
もう一つの方法も書いておきます。
byte配列に不連続に入っているとか、単発で1回だけ一つの値が欲しいなどの場合に参考にして下さい。(DataInputStream は連続して入っていないと効率が悪いです)。
まず int, long, char などの整数型についてですが、Java はこれが何ビットなのかが決まっています(C/C++は環境依存ですがJavaには環境依存はありません)。
なのでそれに合わせて計算してしまえばできます。
例) byte[]の 5, 6, 7, 8 に Big-endian で入っている整数を int の変数に代入する場合。
byte[] b = ...; // バイト配列
int n = 0;
for (i = 0; i < 4; i++)
n = (n << 8) | (b[i + 5] & 0xff);
float と double についてはそれぞれ上記のようにして int か long に変換後ならば Float.intBitsToFloat() か Double.longBitsToDouble() によって変換ができます。
No.1
- 回答日時:
ByteArrayInputStream と DataInputStream を使えば簡単です。
例
byte[] b = ...; // バイト配列
DataInputStream in = new DataInputStream(new ByteArrayInputSttream(b));
double d = in.readDouble();
float f = in.readFloat();
long l = in.readLong();
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaの初歩的な質問です。
-
javascriptで文字列のsjis利用...
-
javaの文字コード変換について
-
C言語32bitから64bitの移行につ...
-
Visual Basic でのコードをASCI...
-
DBから取得したデータの文字化け
-
半角カタカナをローマ字変換す...
-
JIS8の半角かな文字をUnicodeの...
-
特殊文字「\\」の変換の方法
-
PerlプログラムをJavaに変換す...
-
javaで質問です。 文字列2023/2...
-
エクセルVBAで「〜」が表現でき...
-
半角カナ文字の変換
-
TEXTAREAからのデータを改行入...
-
Visual Studio 6.0でビルド可能...
-
あるディレクトリにある複数の...
-
javascript わかる人教えてくだ...
-
オラクルで、半角文字を全角に...
-
1~100までの数字を表示したい
-
C言語 重複しない4ケタの乱数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
javascriptで文字列のsjis利用...
-
int型のゼロ埋め
-
javaの初歩的な質問です。
-
Path型をString型へ変換する(Java)
-
C言語32bitから64bitの移行につ...
-
JavaのStringクラスに「外字」...
-
エクセルVBAで「〜」が表現でき...
-
カタカナの「ソ」以降の文字が...
-
Windows-31Jからutf-8への変換...
-
pasteHTMLでパスが勝手に変換さ...
-
DBから取得したデータの文字化け
-
数字のみにしたい
-
Visual Basic でのコードをASCI...
-
ジェネリックのキャストをした...
-
補数について質問
-
publicがprotectedになった場合...
-
error C2440: 'static_cast' : ...
-
文字を整数(int)に変換
おすすめ情報