2013-06-22 60 views
0

我已經做了一些關於更改字節到字符串的研究,但我不知道我必須從我具體的文件開始。字節數組到字符串在可視化的基本

我有一個名爲Options.mco的文件,當我用記事本++或記事本打開它時,它們都只是亂碼。

http://puu.sh/3lHJD.png

http://puu.sh/3lHKm.png

所以我希望把這些字節轉換爲字符串,這樣我就可以在我的程序取決於用戶選擇什麼選項進行編輯,然後改回成字節形式和保存它在文件中保持相同的文件結構。

從我的研究中,我發現如何將字節轉換爲字符串和字符串轉換爲字節,但我不知道從哪裏開始,因爲它的佈局以及如何在字節轉換後導入或查看它。

+0

您需要了解.mco文件的結構。本頁面:http://mco.file-extension-library.com/表明它實際上是一個具有不同文件擴展名的zip存檔。 –

回答

0

看看文件格式?我該怎麼做呢?

十六進制編輯器將有所幫助。瞭解生成該文件的軟件將有助於確定文件中的信息類型。

+0

我知道文件中包含什麼信息。諸如程序的寬高比等信息。我用HxD來看它,但我不明白,但是我知道如果程序中的設置發生改變,值就會改變。 –

+0

然後你應該可以使用它。更改程序中的選項並查看文件中更改的值。在所有選項中重複此操作,並記錄哪些字節正在更改以及哪些選項更改了它們。你應該能夠看到某種形式的出現。通常是起始字節和/或結束字節來表示數據塊。 – tinstaafl

+0

然後用這些值做什麼?根據選擇的選項更改它們,然後寫入並保存它們? –

1

需要知道該Options.mco文件的佈局。這聽起來像是一個從內存寫入磁盤的二進制文件,這意味着你在閱讀一個扁平的文本文件時遇到了所有問題,再加上字符編碼,並且沒有任何好的方法來區分「這個位是字符串「和」該位是布爾值「。

如果您對文件的生成有任何控制,請考慮切換到XML或JSON(或者,heck,INI或純文本)來存儲選項。

否則,您將需要確定內部佈局Options.mco文件的方式,解析出可更改的字符串,更改字符串,將其放回,將字符串轉換回二進制文件,寫回文件。 ..並希望你沒有在某個地方翻轉一點,這會讓整個事情變得敗壞。

+0

Aww男人比我想象的要難。我無法控制文件的生成。 –

+0

好吧,如果你需要做的事情,你仍然需要從文件格式開始。 (而且我們一直假設它沒有使用其他程序內部的私鑰加密......) – DougM

+0

確定文件的格式?我該怎麼做呢?據我所知,它沒有加密。有人告訴我我需要這樣做:「您需要將比率轉換爲十六進制,並確保將其應用於該寬度(寬度 - 4字節和高度 - 4字節)。」 –