Tengo muchos correos electrónicos procedentes de diferentes fuentes. todos tienen archivos adjuntos, muchos de ellos tienen nombres de archivos adjuntos en chino, por lo que los nombres se convierten a base64 por sus clientes de correo electrónico.cómo saber si una cadena es base64 o no
Cuando recibo estos correos electrónicos, deseo decodificar el nombre. pero hay otros nombres que son no base64. ¿Cómo puedo diferenciar si una cadena es base64 o no, usando el lenguaje de programación jython?
Ie.
primer archivo adjunto:
------=_NextPart_000_0091_01C940CC.EF5AC860
Content-Type: application/vnd.ms-excel;
name="Copy of Book1.xls"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="Copy of Book1.xls"
segundo elemento de sujeción:
------=_NextPart_000_0091_01C940CC.EF5AC860
Content-Type: application/vnd.ms-excel;
name="=?gb2312?B?uLGxvmhlbrixsb5nLnhscw==?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="=?gb2312?B?uLGxvmhlbrixsb5nLnhscw==?="
Tenga en cuenta tanto "Content-Transfer-Encoding" tienen base 64
Supongo que las perspectivas lo crearon .... no estoy seguro – Setori
Intenté simplemente llamar al archivo adjunto simplemente por '=? Gb2312? B? ULGxvmhlbrixsb5nLnhscw ==? =' Pero desafortunadamente simplemente se cae y se queja amargamente, no tengo idea de por qué , tal vez investigar esa queja resolvería el problema más rápido, gracias bobince lo aprecio – Setori
¿Qué se queja y cuándo? El sistema operativo probablemente se molestará si intentas guardar realmente un archivo con ese nombre, claro, pero cada vez que tomes un nombre de archivo de la entrada del usuario necesitarás un filtro muy estricto para mantener fuera a los personajes peligrosos: lo mejor es que solo permita [a -zA-Z0-9_] (y atrapa una cadena vacía también). – bobince