Đây có thể là câu hỏi ngớ ngẩn nhưng ... ở đây!Tiêu đề được mã hóa Mime có thêm '=' (==? Utf-8? B? Base64string? =)
Tôi đã viết trình phân tích cú pháp MIME của riêng mình trong C++ gốc. Đó là một cơn ác mộng với các bảng mã! Nó ổn định trong 3 tháng qua, nhưng gần đây tôi nhận thấy điều này Subject: header
.
Subject: =?UTF-8?B?T2ZpY2luYSBkZSBJbmZvcm1hY2nDs24sIEluaWNpYXRpdmFzIHkgUmVjbGFt?===?UTF-8?B?YWNpb25lcw==?=
mà nên giải mã như thế này:
Subject: Oficina de Información, Iniciativas y Reclamaciones
Vấn đề là có thêm một = (equal)
trong đó mà tôi không thể tìm ra ràng buộc hai (tại sao 2?) yếu tố mã hóa mà Tôi không hiểu tại sao được tách ra. Về lý thuyết, định dạng phải là: =?charset?encoding?encoded_string?=
nhưng tìm thấy một chủ đề khác bắt đầu bằng hai số =
.
==?UTF-8?B?blahblahlblah?=
Tôi nên xử lý thêm =
như thế nào?
tôi có thể thay thế ==?
với =?
(mà tôi) trước khi làm bất cứ điều gì (và nó hoạt động) ... nhưng tôi đang tự hỏi nếu có bất kỳ loại spec về vấn đề này vì vậy tôi không hack theo cách của tôi vào chức năng thích hợp.
PS: Tôi ghét các giao thức di tích này đến mức nào! Tất cả các liên lạc văn bản phải là UTF-8 và XML :)
Tôi cũng nghĩ vậy. Tôi đã nhìn thấy chúng trên 5 email từ các nguồn khác nhau và nghĩ rằng đó là một cái gì đó tôi đã mất tích. Và những gì tốt hơn nơi để hỏi hơn SO): – CodeAngry