ПредишенСледващото

В тази глава ще обсъдим как HTML документи се показва на компютъра и в интернет.

В документа на раздел код страница обсъжда въпросът за това как да се абстрактни символи може да бъде част от HTML документа. Герои включват букви от латинската азбука, кирилица, китайски йероглифи "водни знаци", и т.н.

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

5.1 Страницата с код на документа

С цел подобряване на взаимодействието, на SGML изисква всяка молба (HTML приложение - в това число а) да определи различен набор от знаци. Наборът характер (код на страницата) се състои от:

  • "Репертоар". набор от абстрактни символи, като латинската буква "А", Руската буквата "I", китайските "водни знаци" и т.н.
  • Позицията на символа. набор от цифри, препоръки към героите в "репертоара".

Всеки документ е SGML (включително всеки документ HTML) - поредица от символи от "репертоара". компютърна операционна система идентифицира всеки знак от кода си позиция. Така например, в ASCII набор от символи кода на позиции 65, 66 и 67 се отнасят за героите "А", "Б" и "С", съответно.

Наборът от ASCII символи е недостатъчна за глобални информационни системи, като например интернет, така че HTML използва по-пълно набор от символи, наречена Universal задаване на знака (UCS) / Universal знаков набор, дефинирани в документа [ISO10646]. Този стандарт определя репертоари хиляди комплекта символи, използвани в целия свят.

Набор от символи, определени в [ISO10646]. символ еквивалент Unicode характер ([UNICODE]). И двете от тези стандарти са допълнени от време на време с нови герои, както и измененията трябва винаги да бъдат консултирани по съответните уеб-сайтове. В настоящите спецификации, ISO10646, използвани за определяне на набор от символи, а UNICODE е запазено за препратки към двупосочен текст алгоритъм.

Един набор от символи, обаче, не е достатъчно, за да браузъра на потребителя, може да се тълкуват правилно HTML документи, тъй като те обикновено са кодирани като последователност от байтове във файла по време на предаването по мрежата. браузъра на потребителя, трябва да "знае" конкретната кодировка. се използва за трансформиране на документа в поток байт.


5.2 страници Код

Фактът, че в тази спецификация се нарича кодиране на знаците. Той е известен под различни имена в други спецификации (които, понякога объркващи). Въпреки това, общото разбиране - един в целия интернет.
Рубрики протоколи (протокол заглавията), атрибути, и параметри, свързани с символи кодиране, използвайки един термин - "кодировка" и същите стойности от регистъра [IANA] (виж списъка в [Charsets]).

Параметърът "набор от знаци" идентифицира кодиране на символите, който е метод за превръщане на последователност от байтове в последователност от знаци. Това преобразуване отговаря по своето естество, дейност диаграма Web: сървъри да изпратят HTML документи в браузъра на потребителя като поток байт, потребители браузъри го тълкуват в поредица от знаци.
Методи за преобразуване гама от простите един спрямо същия период на другата комутационни вериги до сложна и алгоритми.

Лесна техника на кодиране, еднобайтова единичен характер, не е достатъчно да се използват символи, които не са включени в "репертоара" [ISO10646]. Има няколко различни кодировки, след частичното кодиране с помощта на [ISO10646]. и до пълен кодовата кодировки (като UCS-4).

Сървъри и прокси сървъри могат да се променят кодировката на знаците (наречена транскодиране) "на път", за да приеме искането на браузъра на потребителя (виж раздел 14.2 в [RFC2616]. Заявка за хедър "Accept-Charset" HTTP). И прокси сървъри не трябва да служи на документа в кодирането, което обхваща цялата набор от символи на документа.

Обикновено, в интернет се използва кодиране: ISO-8859-1 (известен също като "Latin-1" се използва за повечето западноевропейски езици), ISO-8859-5 (кирилица), SHIFT_JIS (японски кодиране), EUC-JP (друг японски кодиране) и UTF-8 (кодиране ISO 10646, като се използва различен брой байтове за различните герои). Имена на кодирания са чувствителни към регистъра. По този начин, "SHIFT_JIS", "Shift_JIS" и "Shift_JIS" са еквивалентни.

Тази спецификация не посочва кои кодиране браузър да поддържа.

браузъри съответствие. Браузърите трябва да отговарят на дисплея, според ISO 10646 всички символи в произволна кодиране, че те признават (или те трябва да действат така, сякаш ги разпознае).

Бележки по специална кодиране ке

Когато HTML текст се предава в UTF-16 (набор знаци = UTF-16), текстови данни следва да бъдат предавани в мрежата на байт ред ( "голям-къс", най-значимият байт - първият) в съответствие с [ISO10646]. Раздел 6.3 и [UNICODE]. параграф C3, страница 3-1.

Освен това, за да се увеличат шансовете за правилното тълкуване на документа, се препоръчва, че документът се предава като UTF-16, винаги започнете символ нулев размер непрекъсваем SPACE (шестнадесетичен FEFF, наричан още Byte Поръчка Mark (BOM)), който, когато пермутация на байта става FFFE, символ, като се гарантира, че тя никога няма да бъдат инсталирани. По този начин, на браузъра на потребителя, получаване FFFE като първите байта на текст, да може да се определи, че този байт е запазено за да напомня, кодиран в UTF-16.

не трябва да се използва UTF-1 формат трансформация [ISO10646] (IANA регистрирани като ISO10646-UTF-1).
За ISO 8859-8 и двупосочен алгоритъм, вижте. Раздел двупосочност и кодиране на знаците.

Сървърът установява кодировката на документа? Някои сървъри проучат първите няколко байта на документа или удостоверяване на информацията в база данни на известни файлове и кодиране. Много съвременни сървъри дават уеб-майстор-голям контрол върху конфигурацията на набори знаци. Web-майстор трябва да използват тези механизми за прехвърляне на информация "набор от знаци", когато е възможно, и не се отнасят до неправилни "набор от знаци" параметър стойност документ.

Как да разпознаем браузър кодиране на документа на потребителя?
Тази информация трябва да бъде предоставена от сървъра. Директен начин да се направи това - използването на "кодировка" параметър на заглавната част "Content-Type" HTTP протокола ([RFC2616] раздели 3.4 и 14.17.). Например, HTTP глава обявява следващия кодиране EUC-JP:

Протоколът HTTP ([RFC2616]. раздел 3.7.1) споменава по ISO 8859-1 като кодировка по подразбиране в отсъствието на "кодировка" параметър в "Content-Type" поле глава. На практика тази препоръка е безполезна, тъй като някои сървъри не изпращат на параметъра "набор от знаци", а други не могат да бъдат конфигурирани да изпращат параметъра. По този начин, браузърът не може да получи стойността на "набор от знаци" параметър по подразбиране.

В обобщение: браузъри да отговарят на изискванията, трябва да се спазват следните приоритети при определянето на кодиране на документи (от най-голямо предимство):

В допълнение към този списък от приоритети, браузърът може да използва евристични методи и потребителските настройки. Например, много браузъри използват евристични методи за разграничаване на кодиране японски текст. Също така, браузъри обикновено използват местната кодиране по подразбиране, дефинирани от потребителя, които се използват при липса на други показатели.

Забележка. Ако дадено приложение трябва да се обърнете към набор от символи е [ISO10646]. знаци трябва да бъдат разделени в отделни (частна зона), тя не е в противоречие с бъдещите версии на стандарта. Въпреки това, не се препоръчва поради съвместимост.


5.3 мнемоники (символи на името на връзка)

Позоваването на символи (мнемоника) може да бъде два вида:

  • Числовите препоръки (десетичен или шестнадесетичен).
  • Мнемоника на символични елементи.

Забележка. HTML предвижда други възможности за представяне на символни данни, по-специално - вградени изображения \ вградени изображения.

5.3.1 Цифрови мнемоника

Цифрови обръщения към символа дефинират код позицията на герой в набора от документи характер. Числовите препоръки са два вида:

  • "#D;", където Г. десетични числа, се отнася до десетична стойност D ISO 10646 характер.
  • "#xH;" или "#XH;", където Н. шестнадесетично число, се отнася до Н ISO 10646 характер броя шестнадесетичен шестнадесетичен стойност в цифров мнемоника нечувствителен.

Ето някои примери за цифрова мнемоничен:

  • # 229; (10-ценен) представлява буквата "а" с малък кръг горе (използвани, например в Норвегия.);
  • # XE5; (16-ценен) същата буква;
  • # Xe5; (16-ценен) на същото;
  • # 1048; (10-ценен) руски "и" заглавие;
  • # X6C34; (16-ценен) китайски йероглиф "вода".

Забележка. Въпреки че 16 двумерен представяне не е уточнено в [iso8879]. Очаква се в прегледа, както е описано в [WEBSGML]. Това споразумение е особено важно, тъй като символи на стандарти при работа в 16-Най.

обръщения 5.3.2 символи (по име)

препоръки е от значение. Например, Å Той се отнася за друго писмо (кръг с главни букви), вместо å (С малка окръжност).

Четири препоръки трябва да бъдат посочени отделно, тъй като те често се използват в определени аварийни последователности:

Браузърът не може да изписват правилно всички герои в документа. Например, ако потребителят не разполага съответният символ на шрифта има стойност, която не е кодирана във вътрешния браузър и т.н.

  1. Създаване на ясна, но ненатрапчив механизъм на потребител от липсата на ресурси.
  2. Ако липсващи знаци са представени от числа, използвайте 16-Nye (не десетична) формата, докато тези форми са в стандартите.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!