質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

1710閲覧

バイナリエディタの見方について

Sonono

総合スコア85

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

1グッド

1クリップ

投稿2022/07/21 09:41

wavファイルをバイナリエディタ(VScodeのhex editor拡張)で開いてみたのですがわからないことだらけで、もし教えていただけたら嬉しいです。
バイナリエディタを使うのは初めてなので、初歩的な質問ですみません。

①「52」など2bitずつセットになっているのは何か意味がありますか?
②2bitずつの1セットが15個で改行されているのには何か意味がありますか?
③一番左の「00000010」は何でしょうか?行数に類するものかとは思うのですが...

イメージ説明

Bull👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

①「52」など2bitずつセットになっているのは何か意味がありますか?

「bit」は2進数の桁の単位ですから、 52 は 2bitではありません。
他のところを見ると、 「AC」や「B3」などがあってわかるように、これは16進数です。 16進数2桁は1byte=8bitを表わしています。
1byteという単位は古いCPUの処理単位からきていますが、データの処理単位として現在でも広く使われています。

②2bitずつの1セットが15個で改行されているのには何か意味がありますか?

15個ではなく、16個です。
ダンプはメモリ上のアドレスに対応していることが多く、メモリのアドレスも16進数で表わさせることが多いので、10進数の区切りでなく16進数の区切りで表わしたほうが扱いやすいのです。

③一番左の「00000010」は何でしょうか?行数に類するものかとは思うのですが...

そもそも、元のデータは表の様に並んでいるのではなく、一列にならんでいるものです。その数値が何番目にあるのかわかるようにするには、10進数であれば、横に10個ずつならべると、縦が10ずつ増える表になりますよね。
16進数で同じことを表わすと、横が16個ずつになるということです。この横にある数も16進数ですから 0 10 20 ... 90 A0 B0 ... F0 となります。
この数値と、上の数値を合計したものが、その値の先頭からの番号になります。
*3段目の「B3]のは、 00000020 + 0A = 000002A 番目の数だということになります。

投稿2022/07/21 10:19

編集2022/07/22 03:11
TakaiY

総合スコア12657

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Sonono

2022/07/21 10:43

非常にわかりやすかったです! 元データも一列になっているのも理解していませんでした...。 丁寧に教えていただきありがとうございました。
otn

2022/07/21 13:27

> バイナリエディタなどがよく使われだしたころの物なので、現在でもそのころの名残で、1byteやそれで区切った表記が使われています。 これはさすがに間違い。 データハンドリングの基本単位で、ファイルの中のデータもバイト単位だからです。 1文字を表すのも1バイトないし複数バイトです。
TakaiY

2022/07/22 03:09

なるほど。 そうだと思っていましたが、そのとおりかもしれません。 訂正してあきます。
guest

0

①「52」など2bitずつセットになっているのは何か意味がありますか?

1バイトを16進数で52と表現してます。1行で、1バイトを16個並べてます

②2bitずつの1セットが15個で改行されているのには何か意味がありますか?

1行で、16バイト表示しています

③一番左の「00000010」は何でしょうか?行数に類するものかとは思うのですが

その行の先頭データの、オフセットアドレスを表しています

バイナリエディタというのはなんのためにあるのかをまず理解しましょう

投稿2022/07/21 10:38

編集2022/07/21 10:39
y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問