A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Unicode Adaptado por Antonio Carlos Souza Vladimir Jelicačačić Игорь Лукашев Bjørn Vestergård.

Apresentações semelhantes


Apresentação em tema: "Unicode Adaptado por Antonio Carlos Souza Vladimir Jelicačačić Игорь Лукашев Bjørn Vestergård."— Transcrição da apresentação:

1 Unicode Adaptado por Antonio Carlos Souza Vladimir Jelicačačić Игорь Лукашев Bjørn Vestergård

2 Overview Não é filho do ASCII –8 bit characters –ASCII –O resto do mundo acordou pra o micro Unicode –Atualmente na versão 6.0 –107 mil caracteres –Código dos caracteres –Diferentes regiões Encoding and Decoding classes Example

3 The Good Old Days Foco na falta de acento, English letters Cada letra, número, controle, etc Representado por codes 0-127 Espaço, 32; A, 65; a, 97 Uso de 7 bits, 1 bit livre para muitos computers Wordstar and the 8 th bit Below 32 – control bits 7, beep; 12, formfeed

4

5 8 th bit, values 128-255 Cada um tinha sua própria idéia IBM-PC -> graphics (horizontal bars, vertical bars, bars with dangles, etc.) Outside U.S. different languages –Code 130

6 8 th bit, values 128-255 Code pages – definição regional of bit values 128-255 –Israel: Code page 862 –Greek: Code page 737 –ISO/ANSI code pages Asia – Alphabets had thousands of characters –No way to store in one byte (8 bits)

7 Unicode Not a 16-bit code A new way of thinking about characters Old way: –Character A maps to memory or disk bits –A-> 0100 0001 Unicode way: –Each letter in every alphabet maps to a code point –Abstract concept –A is Platonic form – just floats out there –A -> U+0639 code point

8 Unicode Hello -> U+0048 U+0065 U+006C U+006C U+006F Storing in 2 bytes each: –0048 0065 006C 006C 006F (big endian) –Or 4800 6500 6C00 6C00 6F00 (little endian) Necessário ter um Byte Order Mark (BOM) no início do Stream UTF (Formato de Transformação Unicode, do inglês Unicode Transformation Format)UTF UCS (Conjunto Universal de Caracteres, do inglês Universal Character Set)UCSinglês

9 Unicode Sistema de codificação UTF8 –Stores Unicode points (magic numbers) as 8 bit bytes –Values 0-127 go into byte 1 –Values 128+ go into bytes 2, 3, etc. –Caracter até 127, UTF8 é similar ao ASCII A UTF-7 é uma codificação não tão popular usada para a codificação em 7 bits, e é normalmente considerada obsoleta.UTF-7 Pode ser usada quando há restrições a caracteres com o oitavo bit ligado; por exemplo, quando só se podem usar caracteres ASCII válidos.ASCII

10 UNICODE Encodings UTF-8 UTF-16 – characters stored in 2 byte, 16-bit (halfword) sequences – also called UTF-2 UTF-32 – characters stored in 4byte, 32 bit sequences UTF-7 – forces a zero in high order bit - firewalls Ascii Encoding – everything above 7 bits is dropped

11 Definitions.NET uses UTF-16 encoding internally to store text Correio eletrônico - MIMECorreio eletrônicoMIME Encoding: –Transfere um conjunto de caracteres Unicode em uma sequência de bytes –Envia uma string para um arquivo ou stream de rede Decoding: –Transfere uma sequencia de bytes em um conjunto de Caracteres Unicode –Lendo uma string de um arquivo ou network stream StreamReader, StreamWriter default to UTF-8

12 Encoding/Decoding Classes UTF32Encoding class –Convert characters to and from UTF-32 encoding UnicodeEncoding class –Convert characters to and from UTF-16 encoding UTF8Encoding class to convert to and from UTF-8 encoding – 1, 2, 3, or 4 bytes per char ASCIIEncoding class to convert to and from ASCII Encoding – drops all values > 127 System.Text.Encoding supports a wide range of ANSI/ISO encodings

13 Convert a string into a stream of encoded bytes 1.Get an encoding object Encoding e = Encoding.GetEncoding(Korean); 2. use the encoding objects GetBytes() method to convert a string into its byte representation byte[ ] encoded; encoded = e.GetBytes(Im gonna be Korean!); Demo: D:\_Framework 2.0 Training Kits\70-536\Chapter 03\EncodingDemo

14 Escrevendo um arquivo no formato encoded FileStream fs = new FileStream("text.txt", FileMode.OpenOrCreate);... StreamWriter t = new StreamWriter (fs, Encoding.UTF8); t. Write("This is in UTF8"); Lendo um arquivo encoded FileStream fs = new FileStream("text.txt", FileMode.Open);... StreamReader t = new StreamReader(fs, Encoding.UTF8); String s = t.ReadLine();

15 Conclusão ASCII é um dos padrões mais velhos. UNICODE prove suporte multilingua. System.Text.Encoding tem métodos estáticos para encoding and decoding text. Use an overloaded Stream constructor that accepts an encoding object when writing a file. Not necessary to specify Encoding object when reading, will default.

16 References www.unicode.org Unicode and.Net – what does.NET Provide? http://www.developerfusion.co.uk/show/4710/3/ http://www.developerfusion.co.uk/show/4710/3/ Hello Unicode, Goodbye ASCII http://www.nicecleanexample.com/ViewArticle.a spx?TID=unicode_encoding http://www.nicecleanexample.com/ViewArticle.a spx?TID=unicode_encoding The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) http://www.joelonsoftware.com/articles/Unicode. html http://www.joelonsoftware.com/articles/Unicode. html


Carregar ppt "Unicode Adaptado por Antonio Carlos Souza Vladimir Jelicačačić Игорь Лукашев Bjørn Vestergård."

Apresentações semelhantes


Anúncios Google