Minicurso Encoding - TDC 2012

download Minicurso Encoding  - TDC 2012

If you can't read please download the document

  • date post

    05-Dec-2014
  • Category

    Technology

  • view

    813
  • download

    1

Embed Size (px)

description

por André Willik Valenti e Andrei Tognolo

Transcript of Minicurso Encoding - TDC 2012

  • 1. Minicurso de EncodingAndr Willik Valenti (Daitan) Andrei Tognolo (Dextra)The Developers Conference 2012
  • 2. Roteiro Parte 1 O que e por que existe Parte 2 Como funciona Por que d errado Parte 3 Como faz pra dar certo
  • 3. Parte 1 O que e por que existe
  • 4. Encoding? Hein!? Mais especificamente: Character encoding Tambm conhecido como: Codificao de caracteres Charset
  • 5. Quem o encoding? O encoding o culpado por: Programao Programao Programa Jos Lus Assuno Jnior Jos Lus Assuno Jnior Jos uAssun Jr
  • 6. Por que encoding? Por que se usa encoding? Onde NO se usa encoding? Segure essa ideia! Computador uma mquina de armazenar e processar informao Mas o que informao? Segure essa ideia!
  • 7. Por que encoding? Veja esta imagem
  • 8. Por que encoding? Esta imagem uma informao Como a gente representa essa informao no computador?
  • 9. Por que encoding? Formato da imagem JPEG Mas o que uma imagem JPEG? Podemos olhar para uma imagem JPEG sob quais pontos de vista?
  • 10. Uma imagem mesmo?
  • 11. Um monte de pixels?
  • 12. Um monte de bytes?
  • 13. Um grande nmero binrio? 11111111110110001111111111100000 00000000000100000100101001000110 10010010100011000000000000000010 0000001000000010000000001011111 ...
  • 14. Por que encoding? A resposta correta : Todas so diferentes formas de enxergar a mesma coisa
  • 15. Por que encoding? A imagem uma informao Pixels, bytes e bits so dados Dados so concretos. Informao abstrata. Informao = dados + forma de interpretlos
  • 16. Informao = dados + formade interpret-los
  • 17. Resumindo Informao O conceito abstrato a ser representado Exemplo: imagem Dados Representao concreta de informao Exemplo: sequncia de bytes Encoding Forma de codificar informao em dados Exemplo: JPEG
  • 18. Encoding Voltando pergunta: onde NO usa encoding? Em lugar nenhum. Tudo usa encoding!
  • 19. Encoding PNG um encoding JPEG um encoding MPEG um encoding MP3 um encoding PDF um encoding ... Algum j usou algum CODEC?
  • 20. Character encoding Um character encoding uma determinada maneira de se representar caracteres
  • 21. Parte 2 Como (no) funciona Por que d errado
  • 22. Histria Dcada de 60 Mais de 60 maneiras diferentes de representar caracteres Cada fabricante implementava do seu jeito
  • 23. Histria Bob Bemer: Vamos uniformizar esse negcio... Formouse um comit do ANSI (American National Standards Institute) para essa tarefa 2 anos de trabalho depois...
  • 24. ASCII American Standard Code for Information Interchange 7 bits 128 diferentes caracteres
  • 25. ASCII Exemplos: ASCII Decimal Hexa Binrio 5 53 0x35 0110101 A 65 0x41 1000001 } 125 0x7D 1111101
  • 26. ASCII Intervalo vlido Em decimal: 0 127 Em binrio: 0000000 1111111 Em hexadecimal: 0x00 0x7F
  • 27. ASCII Somente 128 caracteres... Nenhum caractere acentuado
  • 28. ASCII Em vez de usar apenas 7 bits, muitas mquinas usavam/usam 8 E esse bit sobrando a? J sei!!! Vamos usar pra codificar caracteres locais de cada pas!
  • 29. ASCII Com 8 bits, conseguimos representar 256 diferentes caracteres Intervalo vlido: 0 255 (em decimal) 0x00 0xFF (em hexadecimal)
  • 30. Extenses para ASCII Codepages 437 The original IBM PC code page 720 Arabic 737 Greek 775 Estonian, Lithuanian and Latvian 850 "Multilingual (Latin1)" (Western European languages)
  • 31. Extenses para ASCII Codepages 852 "Slavic (Latin2)" (Central and Eastern European languages) 855 Cyrillic 857 Turkish 858 "Multilingual" with euro symbol 860 Portuguese
  • 32. Extenses para ASCII Codepages 863 French (Quebec French) 865 Danish/Norwegian 866 Cyrillic 869 Greek 874 Thai
  • 33. ASCII Maravilha! Com dezenas de encodings diferentes, todos podero representar seus caracteres! Mas e a interoperabilidade? Oras, quem que vai precisar ler ou escrever usando caracteres dos outros pases?? O resultado todos j conhecem:
  • 34. ASCII No fim das contas, ficou assim: 0x00 0x7F: ASCII normal 0x80 0xFF: ASCII estendido
  • 35. ASCII Na prtica: 0x00 0x7F: blz! 0x80 0xFF: no blz
  • 36. ASCII E por que de 0x80 a 0xFF no blz? J vamos ver por qu...
  • 37. Encodings No Brasil, o codepage 850 era muito usado
  • 38. Exemplo Voc, aqui no Brasil, gostaria de dar o seu ol Se voc escrever: Ola!