※ ChatGPTを利用し、要約された質問です(原文:javaで16進数のバイナリデータ4バイトを10進数に変換する方法)
javaで16進数のバイナリデータ4バイトを10進数に変換する方法
このQ&Aのポイント
char型とbin型が混ざり合ったファイルから固定バイト部分を切り取り、10進数に変換する方法について教えてください。
FileInputStreamとDataInputStream.read()を使用してバイトデータを取得し、int型で出力する方法がわかりません。
BufferedReaderを使用せずに読み込みと変換を行いたい場合、どのような方法がありますか?
javaで16進数のバイナリデータ4バイトを10進数に変換する方法
今私が行なおうとしていることは、char型とbin型が混ざり合ったファイル(1レコード301バイト)から固定バイト部分(bin型の部分4バイト分)を切り取り、
テキストファイルで読み取れる数値(int、又はbouble)に変換・出力するという作業です。
FileInputStreamとDataInputStream.read()を使用し、全データをbyte[]で取得、対象固定バイト部分のbyte[]取得までは出来ました。
取得したbyte[]の値を見ると、16進数表記になっていました。ここで、1バイト分(byte[1])をintValueでintに変換する事はできましたが、
4バイト分(byte[4])の値を一気に10進数表記にしてint型で出力する方法がわかりません。
誰かわかる方はいらっしゃいますか?そもそもできないのでしょうか?
またはもっと良い方法があれば教えていただきたいです。
補足としてですが、BufferedReaderでファイルを読込まなかったのは、bin型データ部分がたまたま改行コードになってしまうことがあり、readLine()で1行データ(301バイト分)を取得できないからです。
こちらの方法でも読込み・変換できるのでしょうか?
誰かわかる方がいらっしゃったらぜひ教えて下さい!