Será que tudo nas cordas biblioteca tratar padrão como unicode em Python 3.0?

votos
11

Estou um pouco confuso sobre como a biblioteca padrão irá se comportar agora que Python (de 3,0) é baseado em unicode. Será módulos, tais como cordas CGI e uso urllib Unicode ou eles vão usar o novo tipo de 'bytes' e apenas fornecer dados codificados?

Publicado 18/09/2008 em 10:29
fonte usuário
Em outras línguas...                            


3 respostas

votos
11

Logicamente um monte de coisas como mensagens MIME-codificados mail, URLs, documentos XML, e assim por diante deve ser retornado como bytesnão strings. Isso pode causar alguma consternação como as bibliotecas começam a ser pregado para baixo para Python 3 e as pessoas descobrir que eles têm que ser mais conscientes dos bytes/ stringconversões do que eram para str/ unicode...

Respondeu 18/09/2008 em 10:52
fonte usuário

votos
6

Uma das grandes coisas sobre esta questão (e Python em geral) é que você pode apenas mexer no interpretador! Python 3.0 RC1 está disponível para download .

>>> import urllib.request
>>> fh = urllib.request.urlopen('http://www.python.org/')
>>> print(type(fh.read(100)))
<class 'bytes'>
Respondeu 18/09/2008 em 10:58
fonte usuário

votos
1

Haverá uma dança de dois passos aqui. Veja Python 3000 e Você .

Passo 1 é obter executado sob 3.0.

Passo 2 é repensar suas APIs para, talvez, fazer algo mais sensato.

O curso mais provável é que as bibliotecas irá mudar para strings unicode para permanecer mais compatível possível com a forma como eles usaram para trabalhar.

Então, talvez, alguns vão mudar para bytes para implementar mais adequadamente os padrões RFC para os vários protocolos.

Respondeu 18/09/2008 em 11:35
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more