Използването на Unicode

В приложения, насочени за общата продължителност на работа, за да конвертирате герои от вътрешния представителство (Unicode) се използва в друг вид кодиране. За да се превърне герои от външни кодирането (не Unicode) във вътрешния представителство използва от декодирането. Space System.Text пространство от имена, има редица класове, които позволяват на приложения, за да кодират и декодират символите. Обща информация за тези класове, вижте. В Общото представяне на кодировки.

Unicode стандарт задава всеки един от героите във всеки поддържан код сценарий точка (номер). UTF- е формат, използван за кодиране на кодовите точки. Unicode Standard Version 3.2 използва формати преобразуване (UTF) и други кодировки, са изброени в таблицата по-долу. За всички символни низове вградени .NET Framework са самостоятелно UTF-16 низ.

Unicode UTF-32

Тя представлява героите Unicode в поредица от 32-битови цели числа. Приложението може да се използва UTF32Encoding клас за конвертиране на знаци формат UTF-32 кодиране и обратно.

UTF-32 се използва, когато заявлението иска да избегне поведение заместител код точка UTF-16 в операционни системи, в които кодиран пространство е от голямо значение. Моля, имайте предвид, че за кодиране на отделния дисплей "глиф" може да се използва многократно UTF-32 символа. Допълнителни символи, които са засегнати от това поведение, са по-рядко срещани, отколкото BMP Unicode символа.

Unicode UTF-16

Тя представлява героите Unicode в поредица от 16-битови цели числа. Заявлението може да се използва клас UnicodeEncoding за конвертиране на знаци в UTF-16 кодиране формат и обратно.

UTF-16 често се използва като вграден формат като вида на Microsoft.Net Чар. напишете Windows WCHAR и други често срещани видове. Най-често срещани код точки Unicode вземат само един код точкови UTF-16 (2 байта). За допълнителна Unicode характер U + 10 000 и по-горе все още изисква две замяна кодовите точки UTF.

Unicode UTF-8

Той представлява символите Unicode в последователност от 8 бита. Заявлението може да се използва клас UTF8Encoding за конвертиране на знаци в UTF-8 кодиране формат и обратно.

UTF-8 е предназначен за кодиране с помощта на система с 8-razaryadnoy и работи добре с много операционни системи. За обхвата ASCII символи UTF-8 е идентична с ASCII кодиране и представлява широк спектър от знаци. Въпреки това, UTF-8 CJK скриптове може да се нуждаят от три байта за всеки знак, създавайки по този начин данни по-големи от UTF-16. Имайте предвид, че понякога увеличаването на размера се дължи на редица CJK обем на ASCII данни, като например тагове HTML.

Кодиране UTF-7 Unicode

Тя представлява героите Unicode в поредица от 7-битови ASCII символи. Приложението може да се използва UTF7Encoding клас за конвертиране на знаци формат UTF-7 кодиране и обратно. Герои, различни от ASCII Unicode, представени под формата на ASCII символи избягат-последователност.

UTF-7 поддържа определени протоколи, за които е нужен. Най-често, Този е-мейл протоколи и дискусионни групи. Въпреки това, формат UTF-7 не е достатъчно безопасно и надеждно. В някои случаи, промяна на един бит може да доведе до значителна промяна в тълкуването на цялата UTF-7 линията. В други ситуации, да се кодира могат да се използват един и същ текст различните UTF-7 струни. На UTF-7 последователности, съдържащи различни от ASCII код формат, много по-малко ефективно използва пространство от UTF-8 и процеса на кодиране / декодиране се осъществява бавно. Следователно формат UTF-8 е за предпочитане за използване в приложения.

Знакът ASCII набор от латинската азбука знаци са кодирани като 7-битови ASCII символи. Тъй като това кодиране поддържа само стойностите на знаците от U + 0000 до U + 007F, в много случаи тя не отговаря на изискванията на международните приложения. Приложението може да се използва ASCIIEncoding клас за конвертиране на знаци в Асиите формат на кодиране и обратно. Примери за използване на този клас в код см., Виж Основни видове кодиране.

ANSI и ISO

Използва се за кодиране, различна от Unicode. Клас Encoding поддържа широк набор от ANSI / ISO кодировки.

Произволен колекция от числа (букви или байта) не са валидни низове Unicode или колекции. Приложението не може да конвертирате масив от байтове в Unicode формат и обратно, така че няма да работи. Някои последователности на символи и кодови точки не се поддържат в Unicode 5.0 и не могат да бъдат превърнати от кодировки Unicode. Ако заявлението трябва да прехвърляте данни в двоичен формат, трябва да използвате основата 64, или друг формат за тази цел.

За връщане на необходимия кодиращ обект за определен кодиране, прилагането може да се използва метод GetEncoding. За да се превърне низ Unicode в байт представяне използван в споменатия метод за кодиране GetBytes.

Следният код пробата използва метод GetEncoding изисква кодиране обект за конкретен код страница. метод GetBytes се извиква за желаната кодираща обект за преобразуване на струните Unicode в байт представяне в желания кодиране. представителството на екрана байт на низа ще бъде показан в определен код на страницата.