我只是想知道...是否有可能使用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