le 6 juin 2021, Olivier Miakinen a attiré mon attention sur :
Le 06/06/2021 20:20, j'écrivais :
From: Edelweiss ";-)"
C'est correct, mais tu ne devrais pas t'embêter Í traiter chaque mot individuellement. Ceci est plus simple et tout aussi correct : From: "Edelweiss ;-)"
En vrai tu fais comme tu veux. J'ai réalisé après avoir écrit ce « conseil », en voyant des champs From dont une partie nécessite un encodage MIME, qu'il est peut-être en effet plus simple de traiter séparément « Edelweiss » et « ;-) ». Et donc c'est toi qui vois. Les deux sont corrects et ce n'est pas Í moi de décider Í ta place lequel des deux sera le plus simple Í coder.
Je suis parti du principe que je risquais de rencontrer les deux en décodage (venant d'un autre "nouvelleur") donc pour pouvoir tester, je suis parti sur ce format, en testant en interne toute la chaine de plusieurs mots encadrée. Hormis une ou deux paires de caractères en plus Í transmettre cÍ´té codage ce n'est pas forcément plus difficile ;-) -- Gilbert <https://maccafe-osx.pagesperso-orange.fr>
le 6 juin 2021, Olivier Miakinen a attiré mon attention sur :
Le 06/06/2021 20:20, j'écrivais :
>
From: Edelweiss ";-)" <gilbert.olivier@orange.fr>
C'est correct, mais tu ne devrais pas t'embêter Í traiter chaque mot
individuellement. Ceci est plus simple et tout aussi correct :
From: "Edelweiss ;-)" <gilbert.olivier@orange.fr>
En vrai tu fais comme tu veux.
J'ai réalisé après avoir écrit ce « conseil », en voyant des champs
From dont une partie nécessite un encodage MIME, qu'il est peut-être
en effet plus simple de traiter séparément « Edelweiss » et « ;-) ».
Et donc c'est toi qui vois. Les deux sont corrects et ce n'est pas Í
moi de décider Í ta place lequel des deux sera le plus simple Í coder.
Je suis parti du principe que je risquais de rencontrer les deux en
décodage (venant d'un autre "nouvelleur") donc pour pouvoir tester, je
suis parti sur ce format, en testant en interne toute la chaine de
plusieurs mots encadrée.
Hormis une ou deux paires de caractères en plus Í transmettre cÍ´té
codage ce n'est pas forcément plus difficile ;-)
le 6 juin 2021, Olivier Miakinen a attiré mon attention sur :
Le 06/06/2021 20:20, j'écrivais :
From: Edelweiss ";-)"
C'est correct, mais tu ne devrais pas t'embêter Í traiter chaque mot individuellement. Ceci est plus simple et tout aussi correct : From: "Edelweiss ;-)"
En vrai tu fais comme tu veux. J'ai réalisé après avoir écrit ce « conseil », en voyant des champs From dont une partie nécessite un encodage MIME, qu'il est peut-être en effet plus simple de traiter séparément « Edelweiss » et « ;-) ». Et donc c'est toi qui vois. Les deux sont corrects et ce n'est pas Í moi de décider Í ta place lequel des deux sera le plus simple Í coder.
Je suis parti du principe que je risquais de rencontrer les deux en décodage (venant d'un autre "nouvelleur") donc pour pouvoir tester, je suis parti sur ce format, en testant en interne toute la chaine de plusieurs mots encadrée. Hormis une ou deux paires de caractères en plus Í transmettre cÍ´té codage ce n'est pas forcément plus difficile ;-) -- Gilbert <https://maccafe-osx.pagesperso-orange.fr>
Olivier Miakinen
Le 07/06/2021 Í 08:48, Gilbert OLIVIER a écrit :
le 6 juin 2021, Olivier Miakinen a attiré mon attention sur :
En résumé, le seul From incorrect dans toute cette enfilade est celui o͹ il y un quoted-pair dans un atom, c'est-Í -dire qui ne soit ni dans un quoted-string ni dans un commentaire. Résumé du résumé : "Edelweiss" est OK (Single Backslash: ) est OK Edelweiss ne l'est pas
Ok merci, Í toi et aux autres. J'avais juste mal compris, je pensai qu'il suffisait d'échapper les caractères """ et "".
En fait la logique est la suivante. 1) Certains caractères peuvent être mis directement sans aucune protection. Cela inclut toutes les lettres A-Z et a-z, tous les chiffres 0-9, et un certain nombre d'autres caractères ASCII. Leur liste exhaustive se trouve ici : <https://datatracker.ietf.org/doc/html/rfc2822#section-3.2.4> § atext = ALPHA / DIGIT / ; Any character except controls, "!" / "#" / ; SP, and specials. "$" / "%" / ; Used for atoms "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~" § Cela n'inclut bien sÍ»r pas les caractères non-ASCII (encodage MIME obligatoire) mais pas non plus le guillemet (") ni le backslash (). Noter que le point (.) n'en fait pas partie non plus. 2) Hors encodage MIME, les caractères interdits dans un atom doivent être mis entre guillemets dans un quoted-string "...". 3) Mais du coup le caractère guillemet doit être protégé pour qu'il ne termine pas trop tÍ´t le quoted-string, on le protège avec un backslash "..."..." 4) Mais du coup le caractère backslash devient lui-même spécial dans un quoted-string, et il doit Í son tour être protégé par un autre backslash "......"
Donc, si maintenant j'ai bien compris: "Edelweiss concurent" pourrait s'encoder:
Je suppose que tu veux dire « Edelweiss concurent » et pas « "Edelweiss concurent" ».
""Edelweiss" concurent" ou ""Edelweiss concurent""
LÍ je suppose que tu veux dire respectivement « "Edelweiss" concurent » et « "Edelweiss concurent" » Je suis d'accord pour la deuxième forme, mais pas pour la première car il faut aussi mettre « » entre guillemets : « "Edelweiss" "" concurent »
Le 07/06/2021 Í 08:48, Gilbert OLIVIER a écrit :
le 6 juin 2021, Olivier Miakinen a attiré mon attention sur :
En résumé, le seul From incorrect dans toute cette enfilade est celui
o͹ il y un quoted-pair dans un atom, c'est-Í -dire qui ne soit ni dans
un quoted-string ni dans un commentaire.
Résumé du résumé :
"Edel\weiss" est OK
(Single Backslash: \) est OK
Edel\weiss ne l'est pas
Ok merci, Í toi et aux autres.
J'avais juste mal compris, je pensai qu'il suffisait d'échapper les
caractères """ et "".
En fait la logique est la suivante.
1) Certains caractères peuvent être mis directement sans aucune
protection. Cela inclut toutes les lettres A-Z et a-z, tous les
chiffres 0-9, et un certain nombre d'autres caractères ASCII.
Leur liste exhaustive se trouve ici :
Cela n'inclut bien sÍ»r pas les caractères non-ASCII (encodage MIME
obligatoire) mais pas non plus le guillemet (") ni le backslash ().
Noter que le point (.) n'en fait pas partie non plus.
2) Hors encodage MIME, les caractères interdits dans un atom doivent
être mis entre guillemets dans un quoted-string "...".
3) Mais du coup le caractère guillemet doit être protégé pour qu'il
ne termine pas trop tÍ´t le quoted-string, on le protège avec un
backslash "..."..."
4) Mais du coup le caractère backslash devient lui-même spécial dans
un quoted-string, et il doit Í son tour être protégé par un autre
backslash "...\..."
Donc, si maintenant j'ai bien compris:
"Edelweiss concurent" pourrait s'encoder:
Je suppose que tu veux dire « Edelweiss concurent » et pas
« "Edelweiss concurent" ».
""Edel\weiss" \ concurent" ou ""Edel\weiss \ concurent""
LÍ je suppose que tu veux dire respectivement
« "Edel\weiss" \ concurent »
et
« "Edel\weiss \ concurent" »
Je suis d'accord pour la deuxième forme, mais pas pour la première car
il faut aussi mettre « \ » entre guillemets :
le 6 juin 2021, Olivier Miakinen a attiré mon attention sur :
En résumé, le seul From incorrect dans toute cette enfilade est celui o͹ il y un quoted-pair dans un atom, c'est-Í -dire qui ne soit ni dans un quoted-string ni dans un commentaire. Résumé du résumé : "Edelweiss" est OK (Single Backslash: ) est OK Edelweiss ne l'est pas
Ok merci, Í toi et aux autres. J'avais juste mal compris, je pensai qu'il suffisait d'échapper les caractères """ et "".
En fait la logique est la suivante. 1) Certains caractères peuvent être mis directement sans aucune protection. Cela inclut toutes les lettres A-Z et a-z, tous les chiffres 0-9, et un certain nombre d'autres caractères ASCII. Leur liste exhaustive se trouve ici : <https://datatracker.ietf.org/doc/html/rfc2822#section-3.2.4> § atext = ALPHA / DIGIT / ; Any character except controls, "!" / "#" / ; SP, and specials. "$" / "%" / ; Used for atoms "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~" § Cela n'inclut bien sÍ»r pas les caractères non-ASCII (encodage MIME obligatoire) mais pas non plus le guillemet (") ni le backslash (). Noter que le point (.) n'en fait pas partie non plus. 2) Hors encodage MIME, les caractères interdits dans un atom doivent être mis entre guillemets dans un quoted-string "...". 3) Mais du coup le caractère guillemet doit être protégé pour qu'il ne termine pas trop tÍ´t le quoted-string, on le protège avec un backslash "..."..." 4) Mais du coup le caractère backslash devient lui-même spécial dans un quoted-string, et il doit Í son tour être protégé par un autre backslash "......"
Donc, si maintenant j'ai bien compris: "Edelweiss concurent" pourrait s'encoder:
Je suppose que tu veux dire « Edelweiss concurent » et pas « "Edelweiss concurent" ».
""Edelweiss" concurent" ou ""Edelweiss concurent""
LÍ je suppose que tu veux dire respectivement « "Edelweiss" concurent » et « "Edelweiss concurent" » Je suis d'accord pour la deuxième forme, mais pas pour la première car il faut aussi mettre « » entre guillemets : « "Edelweiss" "" concurent »
Olivier Miakinen
Le 07/06/2021 Í 08:48, Gilbert OLIVIER a écrit :
[mettre entre guillemets la chaine globale ou bien chaque mot individuellement]
En vrai tu fais comme tu veux. [...] Les deux sont corrects et ce n'est pas Í moi de décider Í ta place lequel des deux sera le plus simple Í coder.
Je suis parti du principe que je risquais de rencontrer les deux en décodage (venant d'un autre "nouvelleur") donc pour pouvoir tester, je suis parti sur ce format, en testant en interne toute la chaine de plusieurs mots encadrée. Hormis une ou deux paires de caractères en plus Í transmettre cÍ´té codage ce n'est pas forcément plus difficile ;-)
Oui, tu as raison. Ça pourrait même être généralement plus facile.
Le 07/06/2021 Í 08:48, Gilbert OLIVIER a écrit :
[mettre entre guillemets la chaine globale ou bien chaque mot
individuellement]
En vrai tu fais comme tu veux.
[...] Les deux sont corrects et ce n'est pas Í
moi de décider Í ta place lequel des deux sera le plus simple Í coder.
Je suis parti du principe que je risquais de rencontrer les deux en
décodage (venant d'un autre "nouvelleur") donc pour pouvoir tester, je
suis parti sur ce format, en testant en interne toute la chaine de
plusieurs mots encadrée.
Hormis une ou deux paires de caractères en plus Í transmettre cÍ´té
codage ce n'est pas forcément plus difficile ;-)
Oui, tu as raison. Ça pourrait même être généralement plus facile.
[mettre entre guillemets la chaine globale ou bien chaque mot individuellement]
En vrai tu fais comme tu veux. [...] Les deux sont corrects et ce n'est pas Í moi de décider Í ta place lequel des deux sera le plus simple Í coder.
Je suis parti du principe que je risquais de rencontrer les deux en décodage (venant d'un autre "nouvelleur") donc pour pouvoir tester, je suis parti sur ce format, en testant en interne toute la chaine de plusieurs mots encadrée. Hormis une ou deux paires de caractères en plus Í transmettre cÍ´té codage ce n'est pas forcément plus difficile ;-)
Oui, tu as raison. Ça pourrait même être généralement plus facile.
Olivier Miakinen
Le 07/06/2021 Í 10:35, j'écrivais :
En fait la logique est la suivante. 1) Certains caractères peuvent être mis directement sans aucune protection. Cela inclut toutes les lettres A-Z et a-z, tous les chiffres 0-9, et un certain nombre d'autres caractères ASCII. Leur liste exhaustive se trouve ici : <https://datatracker.ietf.org/doc/html/rfc2822#section-3.2.4> § atext = ALPHA / DIGIT / ; Any character except controls, "!" / "#" / ; SP, and specials. "$" / "%" / ; Used for atoms "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~" § Cela n'inclut bien sÍ»r pas les caractères non-ASCII (encodage MIME obligatoire) mais pas non plus le guillemet (") ni le backslash (). Noter que le point (.) n'en fait pas partie non plus. 2) Hors encodage MIME, les caractères interdits dans un atom doivent être mis entre guillemets dans un quoted-string "...". 3) Mais du coup le caractère guillemet doit être protégé pour qu'il ne termine pas trop tÍ´t le quoted-string, on le protège avec un backslash "..."..." 4) Mais du coup le caractère backslash devient lui-même spécial dans un quoted-string, et il doit Í son tour être protégé par un autre backslash "......"
Et un algorithme d'encodage pourrait ressembler Í ça : - séparer la chaÍ®ne en mots aux espaces et tabulations. - pour chaque mot : - s'il y a au moins un caractère non-ASCII, encoder en MIME ; - sinon, s'il n'y a que des caractères autorisés pour un atom, écrire le mot tel quel sans protection ; - sinon, ajouter un guillemet au début et Í la fin *et* faire précéder chaque guillemet et chaque backslash du mot par un backslash. Ne pas oublier, s'il y a deux mots encodés en MIME d'affilée, d'encoder aussi l'espace qui les sépare.
Le 07/06/2021 Í 10:35, j'écrivais :
En fait la logique est la suivante.
1) Certains caractères peuvent être mis directement sans aucune
protection. Cela inclut toutes les lettres A-Z et a-z, tous les
chiffres 0-9, et un certain nombre d'autres caractères ASCII.
Leur liste exhaustive se trouve ici :
Cela n'inclut bien sÍ»r pas les caractères non-ASCII (encodage MIME
obligatoire) mais pas non plus le guillemet (") ni le backslash ().
Noter que le point (.) n'en fait pas partie non plus.
2) Hors encodage MIME, les caractères interdits dans un atom doivent
être mis entre guillemets dans un quoted-string "...".
3) Mais du coup le caractère guillemet doit être protégé pour qu'il
ne termine pas trop tÍ´t le quoted-string, on le protège avec un
backslash "..."..."
4) Mais du coup le caractère backslash devient lui-même spécial dans
un quoted-string, et il doit Í son tour être protégé par un autre
backslash "...\..."
Et un algorithme d'encodage pourrait ressembler Í ça :
- séparer la chaÍ®ne en mots aux espaces et tabulations.
- pour chaque mot :
- s'il y a au moins un caractère non-ASCII, encoder en MIME ;
- sinon, s'il n'y a que des caractères autorisés pour un atom,
écrire le mot tel quel sans protection ;
- sinon, ajouter un guillemet au début et Í la fin *et* faire
précéder chaque guillemet et chaque backslash du mot par un
backslash.
Ne pas oublier, s'il y a deux mots encodés en MIME d'affilée, d'encoder
aussi l'espace qui les sépare.
En fait la logique est la suivante. 1) Certains caractères peuvent être mis directement sans aucune protection. Cela inclut toutes les lettres A-Z et a-z, tous les chiffres 0-9, et un certain nombre d'autres caractères ASCII. Leur liste exhaustive se trouve ici : <https://datatracker.ietf.org/doc/html/rfc2822#section-3.2.4> § atext = ALPHA / DIGIT / ; Any character except controls, "!" / "#" / ; SP, and specials. "$" / "%" / ; Used for atoms "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~" § Cela n'inclut bien sÍ»r pas les caractères non-ASCII (encodage MIME obligatoire) mais pas non plus le guillemet (") ni le backslash (). Noter que le point (.) n'en fait pas partie non plus. 2) Hors encodage MIME, les caractères interdits dans un atom doivent être mis entre guillemets dans un quoted-string "...". 3) Mais du coup le caractère guillemet doit être protégé pour qu'il ne termine pas trop tÍ´t le quoted-string, on le protège avec un backslash "..."..." 4) Mais du coup le caractère backslash devient lui-même spécial dans un quoted-string, et il doit Í son tour être protégé par un autre backslash "......"
Et un algorithme d'encodage pourrait ressembler Í ça : - séparer la chaÍ®ne en mots aux espaces et tabulations. - pour chaque mot : - s'il y a au moins un caractère non-ASCII, encoder en MIME ; - sinon, s'il n'y a que des caractères autorisés pour un atom, écrire le mot tel quel sans protection ; - sinon, ajouter un guillemet au début et Í la fin *et* faire précéder chaque guillemet et chaque backslash du mot par un backslash. Ne pas oublier, s'il y a deux mots encodés en MIME d'affilée, d'encoder aussi l'espace qui les sépare.
yamo'
Edelweiss ";-) a écrit :
Oui, c'est bien moi Fantomas ;-) Normalement le pseudo devrait être: "Edelweiss ;-)"
Presque... -- Stéphane
Edelweiss ";-) a écrit :
Oui, c'est bien moi Fantomas ;-)
Normalement le pseudo devrait être: "Edelweiss ;-)"
le 8 juin 2021, yamo' a attiré mon attention sur :
Edelweiss ";-) a écrit :
Oui, c'est bien moi Fantomas ;-)
Normalement le pseudo devrait être: "Edelweiss ;-)"
Presque...
Pourtant celui lÍ , il me semble qu'il est correct. Les autres applis semblent le décoder normalement. -- Gilbert <https://maccafe-osx.pagesperso-orange.fr>
le 8 juin 2021, yamo' a attiré mon attention sur :
Edelweiss ";-) a écrit :
Oui, c'est bien moi Fantomas ;-)
Normalement le pseudo devrait être: "Edelweiss ;-)"
Presque...
Pourtant celui lÍ , il me semble qu'il est correct. Les autres applis
semblent le décoder normalement.
le 8 juin 2021, yamo' a attiré mon attention sur :
Edelweiss ";-) a écrit :
Oui, c'est bien moi Fantomas ;-)
Normalement le pseudo devrait être: "Edelweiss ;-)"
Presque...
Pourtant celui lÍ , il me semble qu'il est correct. Les autres applis semblent le décoder normalement. -- Gilbert <https://maccafe-osx.pagesperso-orange.fr>
yamo'
Salut, Gilbert OLIVIER a tapoté le 08/06/2021 16:15:
le 8 juin 2021, yamo' a attiré mon attention sur :
Edelweiss ";-) a écrit :
Oui, c'est bien moi Fantomas ;-)
Normalement le pseudo devrait être: "Edelweiss ;-)"
Presque...
Pourtant celui lÍ , il me semble qu'il est correct. Les autres applis semblent le décoder normalement.
Je soupçonne un reste de vieux code dans NewsPortal (il utilisait des from Í la MacSoup...) . -- Stéphane
Salut,
Gilbert OLIVIER a tapoté le 08/06/2021 16:15:
le 8 juin 2021, yamo' a attiré mon attention sur :
Edelweiss ";-) a écrit :
Oui, c'est bien moi Fantomas ;-)
Normalement le pseudo devrait être: "Edelweiss ;-)"
Presque...
Pourtant celui lÍ , il me semble qu'il est correct. Les autres applis
semblent le décoder normalement.
Je soupçonne un reste de vieux code dans NewsPortal (il utilisait des
from Í la MacSoup...) .