Skip to content

Commit c87deda

Browse files
authored
Merge pull request #88 from nizbel/typos-cap4
Typos cap4
2 parents 7409578 + f636600 commit c87deda

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

capitulos/cap04.adoc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ Assim, quatro formas diferentes de apresentação são utilizadas, dependendo do
177177
É por isso que no <<ex_bytes_bytearray>> vemos `b'caf\xc3\xa9'`:
178178
os primeiros três bytes, `b'caf'`, estão na faixa de impressão do ASCII, ao contrário dos dois últimos.
179179

180-
Tanto `bytes` quanto `bytearray` suportam todos os métodos de `str`, exceto aqueles relacionados formatação (`format`, `format_map`)
180+
Tanto `bytes` quanto `bytearray` suportam todos os métodos de `str`, exceto aqueles relacionados a formatação (`format`, `format_map`)
181181
e aqueles que dependem de dados Unicode, incluindo `casefold`, `isdecimal`, `isidentifier`, `isnumeric`, `isprintable`, e `encode`.
182182
Isso significa que você pode usar os métodos conhecidos de string, como `endswith`, `replace`, `strip`, `translate`, `upper` e dezenas de outros, com sequências binárias—mas com argumentos `bytes` em vez de `str`.
183183
Além disso, as funções de expressões regulares no módulo `re` também funcionam com sequências binárias, se a regex for compilada a partir de uma sequência binária ao invés de uma `str`.
@@ -219,7 +219,7 @@ Veja uma demonstração no <<ex_buffer_demo>>.
219219
b'\xfe\xff\xff\xff\x00\x00\x01\x00\x02\x00' <3>
220220
----
221221
====
222-
<1> O typecode `'h'` criar um `array` de _short integers_ (inteiros de 16 bits).
222+
<1> O typecode `'h'` cria um `array` de _short integers_ (inteiros de 16 bits).
223223
<2> `octets` mantém uma cópia dos bytes que compõem `numbers`.
224224
<3> Esses são os 10 bytes que representam os 5 inteiros pequenos.
225225

@@ -741,7 +741,7 @@ Z:\>python default_encodings.py > encodings.log
741741

742742
[TIP]
743743
====
744-
No((("&#x005C;N&#x007B;&#x007D; (Unicode literals escape notation)")))((("Unicode literals escape notation (&#x005C;N&#x007B;&#x007D;)"))) <<ex_stdout_check>>, usei a expressão de escape`'\N{}'` para literais Unicode, escrevendo o nome oficial do caractere dentro do `\N{}`.
744+
No((("&#x005C;N&#x007B;&#x007D; (Unicode literals escape notation)")))((("Unicode literals escape notation (&#x005C;N&#x007B;&#x007D;)"))) <<ex_stdout_check>>, usei a expressão de escape `'\N{}'` para literais Unicode, escrevendo o nome oficial do caractere dentro do `\N{}`.
745745
Isso é bastante prolixo, mas explícito e seguro: o Python gera um `SyntaxError` se o nome não existir—bem melhor que escrever um número hexadecimal que pode estar errado, mas isso só será descoberto muito mais tarde.
746746
De qualquer forma, você provavelmente vai querer escrever um comentário explicando os códigos dos caracteres, então a verbosidade do `\N{}` é fácil de aceitar.
747747
====
@@ -1120,7 +1120,7 @@ O <<ex_asciize_demo>> mostra a `asciize` em ação.
11201120
Cada língua tem suas próprias regras para remoção de sinais diacríticos. Por exemplo, os alemães trocam o `'ü'` por `'ue'`. Nossa função `asciize` não é tão refinada, então pode ou não ser adequada para a sua língua. Contudo, ela é aceitável para o português.
11211121
====
11221122

1123-
Resumindo, as funções em _simplify.py_ vão bem além da normalização padrão, e realizam um cirurgia profunda no texto, com boas chances de mudar seu sentido. Só você pode decidir se deve ir tão longe, conhecendo a língua alvo, os seus usuários e a forma como o texto transformado será utilizado.
1123+
Resumindo, as funções em _simplify.py_ vão bem além da normalização padrão, e realizam uma cirurgia profunda no texto, com boas chances de mudar seu sentido. Só você pode decidir se deve ir tão longe, conhecendo a língua alvo, os seus usuários e a forma como o texto transformado será utilizado.
11241124

11251125
Isso conclui nossa discussão sobre normalização de texto Unicode.
11261126

@@ -1405,7 +1405,7 @@ O Unicode é um buraco de coelho bem fundo. É hora de encerrar nossa exploraç
14051405

14061406
Começamos((("Unicode text versus bytes", "overview of"))) o capítulo descartando a noção de que `1 caractere == 1 byte`. A medida que o mundo adota o Unicode, precisamos manter o conceito de strings de texto separado das sequências binárias que as representam em arquivos, e o Python 3 aplica essa separação.
14071407

1408-
Após uma breve passada pelos tipos de dados sequências binárias—`bytes`, `bytearray`, e `memoryview`—, mergulhamos na codificação e na decodificação, com uma amostragem dos codec importantes, seguida por abordagens para prevenir ou lidar com os abomináveis `UnicodeEncodeError`, `UnicodeDecodeError` e os `SyntaxError` causados pela codificação errada em arquivos de código-fonte do Python.
1408+
Após uma breve passada pelos tipos de dados sequências binárias—`bytes`, `bytearray`, e `memoryview`—, mergulhamos na codificação e na decodificação, com uma amostragem dos codecs importantes, seguida por abordagens para prevenir ou lidar com os abomináveis `UnicodeEncodeError`, `UnicodeDecodeError` e os `SyntaxError` causados pela codificação errada em arquivos de código-fonte do Python.
14091409

14101410
A seguir consideramos a teoria e a prática de detecção de codificação na ausência de metadados: em teoria, não pode ser feita, mas na prática o pacote Chardet consegue realizar esse feito para uma grande quantidade de codificações populares. Marcadores de ordem de bytes foram apresentados como a única dica de codificação encontrada em arquivos UTF-16 e UTF-32--algumas vezes também em arquivos UTF-8.
14111411

@@ -1415,7 +1415,7 @@ Uma triste realidade para usuários de Windows é o fato dessas configurações
14151415

14161416
O Unicode fornece múltiplas formas de representar alguns caracteres, então a normalização é um pré-requisito para a comparação de textos. Além de explicar a normalização e o _case folding_, apresentamos algumas funções úteis que podem ser adaptadas para as suas necessidades, incluindo transformações drásticas como a remoção de todos os acentos. Vimos como ordenar corretamente texto Unicode, usando o módulo padrão `locale`—com algumas restrições—e uma alternativa que não depende de complexas configurações de locale: a biblioteca((("pyuca library"))) externa _pyuca_.
14171417

1418-
Usamos o banco de dados do Unicode para programar um utilitário de comando de linha que busca caracteres por nome--em 28 linha de código, graças ao poder do Python.
1418+
Usamos o banco de dados do Unicode para programar um utilitário de comando de linha que busca caracteres por nome--em 28 linhas de código, graças ao poder do Python.
14191419
Demos uma olhada em outros metadados do Unicode, e vimos rapidamente as APIs de modo dual, onde algumas funções podem ser chamadas com argumentos `str` ou `bytes`, produzindo resultados diferentes.
14201420

14211421

@@ -1501,7 +1501,7 @@ ____
15011501
Essa definição começa muito bem, mas não concordo com a parte após a vírgula. HTML é um ótimo exemplo de um formato de texto puro que inclui informação estrutural e de formatação. Mas ele ainda é texto puro, porque cada byte em um arquivo desse tipo está lá para representar um caractere de texto, em geral usando UTF-8. Não há bytes com significado não-textual, como você encontra em documentos _.png_ ou _.xls_, onde a maioria dos bytes representa valores binários empacotados, como valores RGB ou números de ponto flutuante. No texto puro, números são representados como sequências de caracteres de dígitos.
15021502
15031503
Estou escrevendo esse livro em um formato de texto puro chamado—ironicamente— https://fpy.li/4-56[AsciiDoc],
1504-
que é parte do conjunto de ferramentas do excelente https://fpy.li/4-57[Atlas book publishing platform (_paltaforma de publicação de livros Atlas_)] da O'Reilly. Os arquivos fonte de AsciiDoc são texto puro, mas são UTF-8, e não ASCII. Se fosse o contrário, escrever esse capítulo teria sido realmente doloroso. Apesar do nome, o AsciiDoc é muito bom.
1504+
que é parte do conjunto de ferramentas do excelente https://fpy.li/4-57[Atlas book publishing platform (_plataforma de publicação de livros Atlas_)] da O'Reilly. Os arquivos fonte de AsciiDoc são texto puro, mas são UTF-8, e não ASCII. Se fosse o contrário, escrever esse capítulo teria sido realmente doloroso. Apesar do nome, o AsciiDoc é muito bom.
15051505
15061506
O mundo do Unicode está em constante expansão e, nas margens, as ferramentas de apoio nem sempre existem. Nem todos os caracteres que eu queria exibir estavam disponíveis nas fontes usadas para renderizar o livro.
15071507
Por isso tive que usar imagens em vez de listagens em vários exemplos desse capítulo.

0 commit comments

Comments
 (0)