アプリ版:「スタンプのみでお礼する」機能のリリースについて

ファイル構造が破損しているファイルはファイルのバイナリを比較すれば発見する事が出来るのでしょうか?

A 回答 (5件)

その場合の比較対象はバックアップした同ファイルですか?


その場合、バックアップをとってから1ビットでも更新されていたら「違う」とされますが、その辺はどうお考えですか?

そもそもファイル構造が壊れることとファイルに格納しているアプリケーションデータの値とは意味が異なりますが、その辺のことは理解されていますか?

例えば、ファイル名や作成年月日やファイルのアプリケーションデータが記憶媒体のどの位置に格納されているかといったディレクトリ情報の構造はOSごとに異なります。
あるファイルのアプリケーションデータの格納場所にもOSが定める各種の管理情報(ヘッダー情報)があるのが一般的で、その後ろにアプリケーションデータがあります。
また、ある1つのファイルのアプリケーションデータは記憶媒体上の一か所の連続した領域にあるとは限りません。
OSの種類やファイルの種類、ファイル作成時や更新時の記憶媒体の空き領域の状態によっては複数の離れた場所に格納されることもあります。

一方、アプリケーションデータの構造はMicosoftのWordやExcel、Adobeのadobe illustratorといったアプリケーションごとに独自の構造を持ち、その利用者が入力した文字や値や画像といったデータはその構造にしたがって配置されます。

で。
質問者様が「壊れている」と言われているのはこのうちのどのデータのことでしょう?
そして、どういう事を検出したいとお考えのでしょう?
そこを具体的にされる必要があると考えます。

参考まで。
    • good
    • 1
この回答へのお礼

ありがとう

ご回答ありがとうございました

お礼日時:2024/04/10 17:35

「ファイル構造が破損」する原因はファイルシステムの不具合の話です(一般的な、ストレージ上の各所に断片化したデータを管理情報に基づいて結合し、1つのファイルとして扱うことのできるファイルシステムの話です)。

もちろん、ファイルシステムからアクセスする当該ファイルはオリジナルファイルとは違った形で見えるため、オリジナルファイルとの比較することで中身が異なっていることは検出できますが、「ファイル構造が破損」というのはその原因の可能性の一つでしかありません。他の原因として、たとえばファイルをコピーするプログラムの問題で正常にコピーできなかった場合なども考えられます。

正確に「ファイル構造が破損」していることを検出するためには、ファイルシステムに付属しているチェックユーティリティプログラムを使って検査をするのが一般的です。大抵のチェックユーティリティプログラムでは、破損したファイルのファイル名を報告し、またファイルシステムの不整合に対する耐性の高いファイルシステムであれば不整合を解決し修復してくれるものもあります。
    • good
    • 1
この回答へのお礼

ありがとう

ご回答ありがとうございました

お礼日時:2024/04/10 17:36

> ファイル構造が破損しているファイルは



どういうファイルの、どういうファイル構造が、どういう風に破損している状況を想定しているの?
その破損したファイルと何と比較するの?


例えば、.bmpファイルのファイルヘッダの先頭が何バイトか欠損してるなら、.bmpファイルは
42 4D     BM
ってファイルタイプの識別から始まるから、バイナリエディタで見るとか、ヘタすればメモ帳にドラッグ&ドロップで開いても、"BM"が無いなら.bmpファイルが破損してるか.bmpファイルじゃないとかって確認できると思う。
    • good
    • 1
この回答へのお礼

ありがとう

ご回答ありがとうございました

お礼日時:2024/04/10 17:35

> ファイル構造が破損しているファイル



これだけでは分かりません。

・どのように破損しているのか
・なぜ破損していると分かったのか
・ファイルの種類はテキスト/バイナリどちらか
・使っているOSはなにか
・ディスク パーティションの種類はNTFTか
・最終目的は破損しているファイルを修復したいということか
    • good
    • 1
この回答へのお礼

ありがとう

ご回答ありがとうございました

お礼日時:2024/04/09 15:25

ファイルのバイナリを比較、と言うのは、


ファイル本体の破損検出になると思います。

ファイル構造となると、FATの内容も含むことになるので、
その部分の正しいデーターは用意できず、比較さえできない、
と言う事になります。
    • good
    • 1
この回答へのお礼

ありがとう

ご回答ありがとうございました

お礼日時:2024/04/09 15:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A