<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
les chaînes peuvent être : <br>
<ul>
<li>des bytestrings (chaînes d'octets); En python2, on ne préfixe
pas (en python 3, on préfixe avec un b). Le contenu de la chaîne
a un encodage indéfini (ce peut être de l'iso8859-1, utf8,
utf16, du binaire sans représentation ascii, etc...). Seul le
programmeur sait.. (parfois) <br>
</li>
<li>des chaines unicode. préfixées avec un "u". Dans ce cas
l'"encodage" est connu de python. C'est une représentation
interne en mémoire qui peut représenter tous les caractères
connus. Python sait donc le réendocder car il sait d'où il
part. <br>
</li>
</ul>
Par ailleurs on peut indiquer à python de ne pas interpréter les \n
\t \r \u \x etc... qui sont une manière d'écrire des caractères non
ascii.<br>
<ul>
<li>des chaînes brutes (raw) en particulier celles contenant des \
: pour des chemins, ou pour les expression régulières. Dans ce
cas préfixer avec un "r" pour indiquer à pyhon de ne pas
interprêter \t ou \n comme une tabulation ou un retour à la
ligne par exemple<br>
</li>
</ul>
Dans votre cas, vous écrivez une chaine de caractères dont vous
voulez que Python connaisse l'encodage. <br>
Le code source setup.py est stocké sur disque avec un encodage UTF8
(c'est un encodage qui permet aussi de représenter tous les
caractères, contrairement aux iso8859-xx) . et la chaîne Apogée sera
stockée en mémoire sous une forme unicode après avoir été
interprétée par python depuis le code source en UTF8.<br>
<span><span><br>
<code>create_desktop_shortcut(u'Apogée','c:\\')</code><code><br>
</code><code>remove_desktop_shortcut(u'Apogée')</code></span></span><br>
<br>
Le problèle se pose quand in ne sait pas vraiment l'encodage de ce
que l'on reçoit... par exmple en sortie d'une ligne de commande
Windows... La seule façon est de tenter plusieurs décodage en
partant du plus probable...<br>
<br>
<div class="moz-cite-prefix">Le 29/05/2017 à 16:42, Phil Markham a
écrit :<br>
</div>
<blockquote type="cite"
cite="mid:DB6P192MB0216877A99868E57434AFBDFBFF30@DB6P192MB0216.EURP192.PROD.OUTLOOK.COM">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;"
dir="ltr">
<p>bonjour,</p>
<p><br>
</p>
<p>lorsque j'essai de rajouter ou en lever un raccourci avec
wapt contenant un accent j'ai ça :</p>
<p><span>'ascii' codec can't decode byte 0xc3 in position 4:
ordinal not in range(128) : faulty string is
''Apog\xc3\xa9e.lnk''</span><br>
</p>
<p><span><br>
</span></p>
<p><span>la ligne en cause :</span></p>
<p><span><span>remove_desktop_shortcut('Apogée')</span><br>
</span></p>
<p><span><span><br>
</span></span></p>
<p><span><span>j'ai essayer avec un u un r devant .... ça ne
fonctionne pas.</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span>j'abdique ! <span>😓</span></span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span>OS : windows 10</span></span></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
WAPT mailing list
<a class="moz-txt-link-abbreviated" href="mailto:WAPT@lists.tranquil.it">WAPT@lists.tranquil.it</a>
<a class="moz-txt-link-freetext" href="http://lists.tranquil.it/listinfo/wapt">http://lists.tranquil.it/listinfo/wapt</a>
</pre>
</blockquote>
<br>
</body>
</html>