1 回答
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
我確實(shí)在上面問了一個(gè)問題,但我假設(shè)您想要執(zhí)行 HexDump,請(qǐng)考慮以下程序:
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
public class HexDump {
public static void main(String[] args) {
try {
InputStream isr = new DataInputStream(new FileInputStream("C:\\Temp\\some_file.dat"));
int bytesPerLine = 16;
int byteCount = 0;
int data;
while ((data = isr.read()) != -1) {
if (byteCount == 0)
System.out.println();
else if (byteCount % bytesPerLine == 0)
System.out.printf("\n", byteCount);
else
System.out.print(" ");
System.out.printf("%02x", data & 0xff);
byteCount += 1;
}
System.out.println();
} catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
它將獲取樣本文件并將各個(gè)字節(jié)轉(zhuǎn)儲(chǔ)為十六進(jìn)制值(每行 16 個(gè)字節(jié))。
正如斯蒂芬所提到的,對(duì)于二進(jìn)制文件,實(shí)際上并沒有任何類型的編碼方案(您建議的類型 - 例如 ANSI 等)。這種類型的編碼方案適用于文本文件,并告訴您它是 ANSI、UTF-8 還是 UNICODE 等,并告訴您如何閱讀它。話雖如此,二進(jìn)制文件確實(shí)隱含著“編碼方案”。在二進(jìn)制文件的情況下,正如斯蒂芬提到的,“編碼方案”由文件的寫入內(nèi)容決定。這實(shí)際上也適用于文本文件,程序?qū)⒋_定它是否將文本文件寫入為 ANSI、UTF-8 或任何編碼方案。對(duì)于二進(jìn)制文件,“編碼方案”可能是 JPEG、PNG、GIF、MP3 或 MP4、ZIP 或 TAR 或數(shù)千種其他可能性中的任何一種。同樣,這是由編寫文件的程序決定的(例如
我希望這可以幫助您找到答案。
添加回答
舉報(bào)
