Я только начал изучать информатику, и наш учитель дал нам это маленькое, но сложное программирование. Мне нужно декодировать изображение .bmp http://postimg.org/image/vgtcka251/, наш учитель вручил нам и после 4 часов исследований и попыток, я не ближе к его расшифровке. Он дал нам свой метод кодирования:Decode .bmp image
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class HideMsgInPicture {
final static long HEADSIZE=120;
public static void main(String[] args) throws IOException {
encode();
decode();
}
private static void encode() throws IOException {
FileInputStream in = null;
FileInputStream msg = null;
FileOutputStream out = null;
try {
in = new FileInputStream("car.bmp");
msg = new FileInputStream("msg.txt");
out = new FileOutputStream("carX.bmp");
int c,mb;
byte clearBit1 = (byte) 0xFE; //254; // 11111110
for (int i=1;i<=HEADSIZE;i++) out.write(in.read()); //copy header
while ((mb = msg.read()) != -1) { // for all byte in message
for (int bit=7; bit>=0; bit--) // 1 bit a time from messsage
{ c = in.read() & clearBit1; // get picturebyte,clear last bit
c = (c | ((mb >> bit) & 1));// put msg-bit in end of pic-byte
out.write(c); // add pic-byte in new file
}
}
for (int bit=7; bit>=0; bit--) // add 8 zeroes as stop-byte of msg
{ c = in.read() & clearBit1; // get picturebyte,clear last bit
out.write(c); // add pic-byte in new file
}
while ((c = in.read()) != -1) out.write(c);// copy rest of file
}
finally {
if (in != null) in.close();
if (msg != null) msg.close();
if (out != null) out.close();
}
}
}
Может ли кто-нибудь отправить меня в правильном направлении?
Что такое DYM 'decode'? Загружать изображение и манипулировать им легко, используя классы из пакета AWT. –
Наш учитель (по его словам) закодировал изображение с некоторыми данными. Мы должны извлечь эти данные. Возможно ли это с AWT? – user2298680
О, нет, я так не думаю. –