Diferenças entre as versões de 15 e 16
⇤ ← Revisão 15e 2008-02-22 22:37:45 →
Tamanho: 62176
Comentário: pequenos erros.
← Revisão 16e 2008-02-22 22:54:41 → ⇥
Comentário: s/sil/sim
No exemplo acima, nós omitimos a codificação (encoding) logo o Python, na melhor das intenções, assumiu mais uma vez que nós queríamos ASCII ([#nota1 nota 1]), e nos deu a coisa errada.
O Windows NT/2000/XP sempre escreve nomes de arquivo usando Unicode no sistema de arquivos ([#nota2 nota 2]). Então, em teoria, nomes de arquivo Unicode deveriam funcionar perfeitamente em Python. Infelizmente, a win32 fornece duas APIs para fazer a interface com o sistema de arquivos. E usando o legítimo estilo Microsoft, elas são incompatíveis. As duas APIs são:
Use a tag <meta> para informar o browser que codificação você usou ([#nota3 nota 3])
Anchor(nota1)Na minha opinião, os criadores do suporte a Unicode do Python poderiam simplesmente ter omitido a lógica "padrão ASCII", isso teria sido muito mais claro, por forçar iniciantes a entender o que está acontecendo, ao invés de usar unicode(value) cegamente, sem uma codificação explicita. Agora, para ser justo, usando ASCII como codificação padrão é racional. Uma vez que o codificador ASCII do Python só permite caracteres de 0-127, se unicode() funcionar, ASCII é quase que certamente o codificador correto.
Anchor(nota2)Eu não tenho certeza sobre o que as versões mais antigas fazem (95/98), mas eu arriscaria dizer que o suporte a Unicode não é o da versão corrente do padrão.
Anchor(nota3)Atualmente, Firefox e Internet Explorer são capazes de mostrar corretamente uma paga mesmo sem a tag <meta> correta, mas em geral você deve sempre inclui-la, uma vez que a auto detecção pode não funcionar em todas as plataformas, ou para todos os documenos HTML.