Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 4124|Отговор: 1

Разлика между ASCII код, ISO8859-1, Unicode, GBK и UTF-8

[Копирай линк]
Публикувано в 11.12.2022 г. 14:01:58 ч. | | |
Защо ти трябва програмиране?

Най-малката единица за съхранение в компютъра е байт (байт), а броят на символите, които могат да бъдат представени с байт, е ограничен – 1байт=8 бит, един байт може да представлява най-много 255 знака, а има много езици по света, има различни знаци, които не могат да бъдат представени с байт, така че символът за представяне на char в Java е за решаване на този проблем с кодирането – един символ заема два байта, затова трябва да бъде кодиран между char и най-малкия единичен байт. Обратното е декодирането.

Всъщност кодирането и декодирането са завършеният процес на превод ("превод" е лесен за разбиране), а различни методи за кодиране са речници.

1. ASCII код

Пълното име е American Standard Code for Information Interchange, което е най-разпространената система за кодиране с един байт в света, използвана основно за показване на съвременен английски и други западноевропейски езици.

ASCII кодът се представя с 7 бита, които могат да представят само 128 знака, а 0~31 представлява контролни символи като enter, backspace, delete и др.; 32~126 означава, че отпечатаните символи могат да се въвеждат през клавиатурата и да се показват.

Сред тях 48~57 е от 0 до 9 десет арабски цифри, 65~90 е 26 главни английски букви, 97~122 са 26 малки английски букви, а останалите са пунктуационни знаци, операционни символи и др., които могат да се позовават на ASCII стандартната таблица за подробности.

2、ISO-8859-1

Това кодиране е разширение на ASCII кодирането, но все пак е еднобайтово кодиране и може да представя общо 256 знака.

Тъй като ASCII може да представя само 128 знака, дисплеят не може да бъде напълно изразенISO-8859-1 разширява ASCII кодиранетоВърху ASCII кода се добавят съответните текстови символи на западноевропейски езици – гръцки, тайландски, арабски и иврит, които са обратно съвместими с ASCII кодирането.

3、GB2312

Пълното име на GB2312 е "Набор от кодиране на китайски знаци в информационните технологии", което е двубайтово кодиране с диапазон от A1 до F7, като A1-A9 е символната площ, съдържаща общо 682 символа; B0-F7 е областта на канджи, съдържаща 6763 канджи.

Пълното име е китайски набор от знаци за обмен на информация, който е пуснат от Китай през 1980 г. и се използва основно за обработка на китайски знаци в компютърни системи. GB2312 съдържа основно 6763 китайски знака и 682 символа.

GB2312 обхваща по-голямата част от употребата на китайски йероглифи, но не може да обработва специални редки знаци като древни китайски, затова кодове като GBK и GB18030 се появиха по-късно.

4、GBK

Пълното име на GBK е "Chinese Character Internal Code Extension Specification", което изглежда разширява GB2312, обхватът на кодиране е 8140-FEFE (без XX7F), с общо 23940 кодови бита, които могат да представят 21003 китайски знака, а кодирането е съвместимо с GB2312

GBK, пълното име на Китайската вътрешна спецификация за код, е формулирана през 1995 г. Основно разширява GB2312 и добавя още китайски знаци, които съдържат общо 21 003 китайски знака.

GBK е обратно съвместим с кодирането GB2312, което означава, че китайските знаци, кодирани в GB2312, могат да се декодират нормално с GBK и няма да изглеждат неразборени, но китайските знаци, кодирани с GBK, не са непременно декодирани с GB2312.

5、GB18030

Пълното GB18030 име е Спецификацията за разширение на вътрешния код на китайски йероглифи, която е най-новият вътрешен набор от знаци, пуснат през 2000 г. и въведен през 2001 г., включващ езиковите знаци на повечето етнически малцинства в Китай, и съдържа над 70 000 китайски йероглифи.

Основно използва еднобайтово, двубайтово и четирибайтово кодиране на знаци и е обратно съвместим с GB2312 и GBK, въпреки че е задължителен стандарт в нашата страна, но рядко се използва в реалното производство, като най-често се използват GBK и GB2312.

6.UNICODE

За да може езикът им да се показва нормално в компютъра, всяка държава и регион има свой собствен код, така че никой да не знае кода на другия, ако има твърде много кодове, по това време организацията ISO предложи нов код, наречен UNICODE кодиране, за да поддържа глобални култури, знаци и символи. Когато UNICODE беше формулиран, капацитетът на компютъра вече не беше проблем, затова беше проектиран да бъде фиксиран с два байта, а всички знаци бяха представени в 16 бита, включително английски, които преди заемаха само 8 бита, което щеше да доведе до загуба на място, а UNICODE не беше популяризиран и прилаган дълго време.

7、UTF-16

Появата на UTF-16 е ISO за създаване на нов супралингуален речник, чрез който всички езици по света могат да се превеждат взаимно, можете да си представите колко сложен и огромен е този речник. UTF-16 използва два байта, за да представи формата за конвертиране в Unicode (два байта са 16 бита, така че UTF-16) е метод за представяне с фиксирана дължина, тоест всеки символ може да бъде представен в два байта. Това прави представянето на герои много удобно. Въпреки това има и недостатък, а именно, голяма част от знаците могат да бъдат представени в един байт, но UTF-16 използва два байта, което е загуба на място за съхранение. Има и друг начин за кодиране, който е UTF-8.

UTF-16 е специфичната реализация на UNICODE, 16 е 16 бита, UTF-16 е началният код, който определя как се съхраняват UNICODE символите в компютъра, UTF-16 също използва два байта за представяне на всеки символ, което прави низа на операции много ефективен, което е важна причина java да използва UTF-16 като формат за съхранение на символи в паметта.

UTF-16 е подходящ за използване между диск и памет, а преобразуването на символи и байтове един към друг и от тях ще бъде по-лесно и по-ефективно, но не е подходящо за мрежова предаване, което може да повреди байтовия поток.

8、UTF-8

UTF-8 използва технология с променлива дължина, при която всяка кодираща област има различни дължини на кода, а различните типове символи могат да се състоят от 1 до 6 байта.

Правилата за кодиране на UTF-8 са следните:

1) Ако е 1 байт и най-високият бит е 0, това означава, че това е 1 ASCII символ. Вижда се, че всички ASCII кодировки вече са UTF-8

2) Ако е 1 байт, започвайки с 11, броят на последователните 1 означава броя байтове на този знак, например: 110xxxxx означава, че е първият байт на двубайтов UTF-8 символ

3) Ако е 1 байт, започвайки с 10, това означава, че не е първият байт, трябва да очаквате първия байт от текущия знак.

Въпреки че UTF-16 е много ефективен, той е и най-големият недостатък на UNICODE, тъй като всички еднобайтови символи трябва да отчитат два байта, а пространството за съхранение се удвоява, което очевидно изразходва ресурси и не отговаря на настоящата ситуация с бързото развитие на Интернет. Така с UTF-8 това е реализация на кодиране на символи с променлива дължина на UNICODE, което може да използва 1~6 байта с фиксирана дължина за кодиране на UNICODE символи.

UTF-8 използва еднобайтово съхранение за ASCII символи и ако един символ бъде повреден, това няма да повлияе на следващите знаци, така че UTF-8 е идеален за традиционни уеб кодировки и е едно от най-широко използваните кодировки днес.

Ако искате да представите китайски, ефективността на кодиране на UTF-8 е по-голяма от GBK и по-малка от UTF-16, така че това е и най-подходящият метод за кодиране освен GBK.




Предишен:Прекомерна употреба на паметта/кеша при Linux
Следващ:Файлът с активи "project.assets.json" не може да бъде намерен. Стартирай възстановяване на пакети в NuGet...
Публикувано в 30.12.2022 г. 14:43:17 ч. |
Разбрах, с utf-8
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com