2011-11-08 8 views
5

Tôi đã nhận được email một lúc trước với tệp đính kèm hình ảnh trong đó. Kể từ đó, có vẻ như hotmail đã ngừng lưu trữ hình ảnh cho tôi khi tôi mở tin nhắn, hình ảnh không còn nữa.Chuyển đổi JPEG ở định dạng văn bản từ nguồn thư email trở lại thành JPEG

Tuy nhiên, nguồn tin nhắn vẫn còn nguyên vẹn và nếu tôi không sai, nguồn tin nhắn - dưới dạng văn bản - cũng chứa hình ảnh.

Vấn đề dĩ nhiên là ở dạng văn bản. Phần đó (tôi tin) chứa các hình ảnh trông giống như sau: (Chỉ cần vài dòng đầu tiên)

--Apple-Mail-2--733971985

Content-Disposition: nội tuyến; filename = photo.JPG Content-Id: < 3F8BDC26-81F3-4BA2-9071-53E78CB3DB63/photo.JPG>

Content-Type: image/jpeg; name = photo.jpg Content-Transfer-Encoding: base64

/9j/4AAQSkZJRgABAQEASABIAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdC IFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAA AADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFj cHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAA ABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAAD TAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD + AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJD

Nó được gửi từ iPhone của tôi vào Hotmail.

Văn bản này có phải là hình ảnh tôi đang thiếu không? Tôi không tin rằng có một chương trình ngoài kia có thể chuyển đổi điều này cho tôi, vì vậy tôi sẵn sàng viết chương trình của riêng tôi để làm điều đó. Câu hỏi là, điều này thậm chí có thể?

Trả lời

5

Có, điều này hoàn toàn có thể, bằng nhiều phương pháp khác nhau. Nếu bạn có toàn bộ nguồn tin nhắn, bạn có thể lưu nó vào một tệp (chẳng hạn như *.eml) và mở nó trong ứng dụng thư (ví dụ: Mozilla Thunderbird); điều này sẽ hiển thị cho bạn toàn bộ tin nhắn bao gồm hình ảnh đính kèm.

Nếu không, nó vẫn có thể: như bạn có thể thấy từ các tiêu đề, hình ảnh được mã hóa base64. Bạn cần hoàn nguyên chuyển đổi này - bằng cách sử dụng mã của riêng bạn (ví dụ: PHP có base64_decode()) hoặc thông qua nhiều bộ giải mã base64 khác nhau có sẵn trực tuyến (ví dụ: this). Phần bạn muốn giải mã là khối bắt đầu bằng /9j/4AAQSk trong trường hợp này. Đổi tên tập tin kết quả photo.JPG (như được chỉ ra trong các tiêu đề e-mail) và bạn đã hoàn tất.

Lưu ý rằng điều này yêu cầu bạn xác minh rằng bạn đã đặt toàn bộ tệp được mã hóa base64 qua bộ giải mã - base64 không có điểm đánh dấu để phát hiện kết thúc tệp.

+0

Cảm ơn bạn rất nhiều, bộ giải mã đã hoạt động! – Arvin

+0

@Arvin: Bạn được chào đón. – Piskvor