Utilizarea Unicode

În aplicațiile vizate pentru runtime totală, pentru a converti caracterele din reprezentarea internă (Unicode) este utilizat în alt tip de codificare. Pentru a converti caracterele din codificările externe (nu Unicode) în reprezentarea internă utilizată de decodificare. Spațiu System.Text spațiu de nume are un număr de clase care permit aplicațiilor să se codifica și decodifica simbolurile. Informații generale despre aceste clase, a se vedea. În prezentarea generală a codificări.

Unicode standard atribuie fiecare caracter în fiecare punct de cod de script acceptat (număr). UTF- este un format folosit pentru a codifica punctele de cod. Unicode Standard Versiunea 3.2 utilizează formatele de conversie (UTF) și alte codificări sunt enumerate în tabelul de mai jos. Pentru toate șirurile de caractere încorporate Framework sunt auto UTF-16 string.

Unicode UTF-32

Acesta reprezintă caracterele Unicode într-o secvență de numere întregi pe 32 de biți. Aplicația poate utiliza clasa UTF32Encoding pentru conversia de caractere într-un format UTF-32 de codificare și înapoi.

UTF-32 este utilizat atunci când aplicația dorește să evite un comportament punctul UTF-16 cod substituent în sistemele de operare în cazul în care spațiul codificat este de mare importanță. Vă rugăm să rețineți că pentru codificarea individuale de afișare „glyph“ poate fi utilizat de mai multe UTF-32 de caractere. caractere suplimentare care sunt afectate de acest comportament, sunt mai puțin frecvente decât de caractere Unicode BMP.

Unicode UTF-16

Acesta reprezintă caracterele Unicode într-o secvență de numere întregi pe 16 biți. O aplicație poate utiliza UnicodeEncoding clasă pentru convertirea caracterelor în UTF-16 format de codificare și înapoi.

UTF-16 este adesea folosit ca un format încorporat ca tipul de Microsoft.Net char. tip pentru Windows WCHAR și alte tipuri comune. Cele mai comune puncte de cod Unicode ia doar un punct de cod UTF-16 (2 octeți). Pentru caractere suplimentare Unicode U + 10000 și mai sus necesită încă două puncte de cod de înlocuire UTF.

Unicode UTF-8

Reprezintă caracterele Unicode într-o secvență de 8 biți. O aplicație poate utiliza UTF8Encoding de clasă pentru conversia de caractere în UTF-8 format de codificare și înapoi.

UTF-8 este proiectat pentru codarea cu ajutorul unui sistem de 8 razaryadnoy și funcționează bine cu multe sisteme de operare. Pentru gama ASCII de caractere UTF-8 este identică cu codificarea ASCII și reprezintă o gamă largă de caractere. Cu toate acestea, UTF-8 scripturi CJK pot necesita trei octeți pentru fiecare caracter, creând astfel de date mai mari decât UTF-16. Rețineți că, uneori, creșterea în mărime se datorează unei game de volum CJK de date ASCII, cum ar fi etichetele HTML.

Codificare UTF-7 Unicode

Acesta reprezintă caracterele Unicode într-o secvență de caractere ASCII pe 7 biți. Aplicația poate utiliza clasa UTF7Encoding pentru conversia de caractere într-un format UTF-7 codificare și înapoi. altele decât ASCII Unicode de caractere, prezentate sub formă de caractere ASCII de evacuare-secvență.

UTF-7 suporta anumite protocoale pentru care este nevoie. Cel mai adesea, aceste protocoale de e-mail și grupuri de știri. Cu toate acestea, formatul UTF-7 nu este suficient de sigură și de încredere. În unele cazuri, schimbarea un bit poate duce la o schimbare semnificativă în interpretarea întregii linii UTF-7. În alte situații, pentru a codifica același text diferite UTF-7 siruri de caractere pot fi utilizate. Secvențele UTF-7 care conțin, altele decât formatul de cod ASCII, utilizează mult mai puțin eficient spațiu decât UTF-8 și procesul de codificare / decodificare este efectuată lent. În consecință, formatul UTF-8 este de preferat pentru utilizarea în aplicații.

Caracterul ASCII set de semne ale alfabetului latin sunt codificate ca caractere ASCII pe 7 biți. Deoarece această codificare acceptă numai valori de caractere de la U + 0000 U + 007F, în multe cazuri, aceasta nu îndeplinește cerințele aplicațiilor internaționale. Aplicația poate utiliza clasa ASCIIEncoding pentru conversia de caractere în format de codificare ASII și înapoi. Exemple de utilizare a acestei clase în cod cm., A se vedea tipuri de bază de codificare.

ANSI și ISO

Folosit pentru codificarea, altele decât Unicode. Clasa de codare suportă o gamă largă de ANSI codificări / ISO.

colectarea Arbitrare de numere (caractere sau octeți) nu sunt siruri de caractere Unicode valabile, sau colecții. Aplicația nu poate converti o serie de octeți în format Unicode și înapoi, astfel că nu va funcționa. Anumite secvențe de simboluri și puncte de cod nu sunt acceptate în Unicode 5.0 și nu pot fi convertite prin codificări Unicode. În cazul în care cererea are nevoie pentru a transfera date într-un format binar, ar trebui să utilizați de bază 64, sau un alt format în acest scop.

Pentru a readuce obiectul de codificare necesar pentru codificarea specificată, aplicația poate fi utilizată metoda GetEncoding. Pentru a converti șirul Unicode în reprezentarea sa octet în respectiva metodă getBytes codare.

Următoarea mostră de cod utilizează metoda GetEncoding obiect codificarea necesară pentru un anumit cod de pagină. Metoda getBytes este invocată pentru obiectul de codificare dorită pentru a converti siruri de caractere Unicode în reprezentare octet în codificarea dorită. Reprezentarea Ecranul octet al șirului va fi afișat într-o pagină de cod specific.