我只是想知道...是否有可能使用Java將.mp3文件轉換爲直接二進制(僅1和0)的文本文件?我認爲這將涉及到AudioInputStream
的使用,然後用一些方法來解碼單個字節,但是有人可以告訴我從哪裏開始?將MP3轉換爲二進制
謝謝!
我只是想知道...是否有可能使用Java將.mp3文件轉換爲直接二進制(僅1和0)的文本文件?我認爲這將涉及到AudioInputStream
的使用,然後用一些方法來解碼單個字節,但是有人可以告訴我從哪裏開始?將MP3轉換爲二進制
謝謝!
這當然有可能,但您不需要使用特殊的音頻流。你要找的是將任何類型的文件轉換爲1和0個字符的文件。我沒有測試過這個代碼,但算法應該清楚。
FileInputStream fin = new FileInputStream(new File(path));
BufferedWriter bw = new BufferedWriter(new FileWriter(otherpath));
byte contents[] = new byte[100];
while (fin.read(contents)!= -1)
{
for (byte b : contents)
for (int x = 0; x < 8; x++)
bw.write(b>>x & 1);
}
編輯:如果你只是想看看是什麼樣子,你可以打開任何類型的文件用十六進制編輯器。
你應該忽略它的MP3文件。只要把它當作二進制。逐字節讀取文件並將每個字節轉換爲其「二進制」表示。
打開命令提示符並鍵入xxd -b filename.mp3
文件_are二進制。你是否要求將原始位轉換爲ASCII'1'和'0'字節? – SLaks 2012-02-17 22:12:50
這將是瘋了。每個輸出文件將是巨大的! – 2012-02-17 22:13:16
@JustinSatyr只有~8倍大.. – paislee 2012-02-17 22:15:19