Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: UTF-8  (Прочитано 27652 раз)
0 Пользователей и 6 Гостей смотрят эту тему.
sss
Специалист

ru
Offline Offline

« : 27-11-2008 07:54 » 

Привет.

Кто знает - чего это не хочет работать MultiByteToWideChar для кодовой страницы CP_UTF8 ? Страница установлена ( в языках и стандартах).

Код:
wchar_t  w[2] = {0};
char     c[2] = {0};

c[0] = 0xD0;
if ( 0 == ::MultiByteToWideChar( CP_UTF8, 0, c, 1, w, 2))
{
  SHOWLAST(); // Здесь - GetLastError = 0
}

P.S.Ж: Про то, что можно воспользоваться IMultiLanguage я знаю.
Записан

while (8==8)
sss
Специалист

ru
Offline Offline

« Ответ #1 : 27-11-2008 10:02 » 

Черт! Кто знает, сколько байт на символ в UTF-8 ?
Записан

while (8==8)
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 27-11-2008 10:13 » 

Байт на символ - переменное число.

Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. И наоборот, в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байтов (реально только до 4 байт, поскольку использование кодов больше 221 не планируется), в которых первый байт всегда имеет вид 11xxxxxx, а остальные — 10xxxxxx.
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #3 : 27-11-2008 10:49 » 

У нас используют IBM ICU для перекодирования UTF8
Записан

Странно всё это....
sss
Специалист

ru
Offline Offline

« Ответ #4 : 28-11-2008 02:13 » 

Спасибо ребята...
Выходит мой код в корне не правилен.
Записан

while (8==8)
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #5 : 28-11-2008 07:21 » 

нормальный код и кстати должен работать разве, что у тебя UTF-8 строка корявая я бы тебе для начала разжиться нормальной строкой Улыбаюсь
Записан

Странно всё это....
sss
Специалист

ru
Offline Offline

« Ответ #6 : 28-11-2008 07:54 » new

LogRus, в том то и дело. Выходит, в зависимости от значения символа c[0], нужно формировать разную длину массива. Когда имеешь на входе смапленный файл размером 100 МБ, надо править также и указатель курсора на следующий символ, в зависимости от этого c[0].
Записан

while (8==8)
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #7 : 28-11-2008 11:11 » 

ничего не понял. Может у тебя не верные предпосылки. Расскажи, что ты делаешь.
Записан

Странно всё это....
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 28-11-2008 13:45 » 

https://forum.shelek.ru/index.php/topic,6082.msg133062.html#msg133062
В атаче там пример конвертирования unicode в utf-8.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
sss
Специалист

ru
Offline Offline

« Ответ #9 : 01-12-2008 01:58 » 

LogRus, допустим есть исходный файл, размером в 100 МБ в кодировке UTF-8.
Задача - простой просмотр в кодировке 1251 (FAR F3).

Создаем объект раздел для этого файла - имеем указатель (курсор).
Если файл в кодировке CP866, то побайтно преобразуем CP866->UNICODE->CP1251 и просто выводим на экран. Если файл в кодировке UTF-8, простой код превращается в сложный... Необходимо анализировать, сколько байт на символ, и сдвигать курсор соответственно.
Записан

while (8==8)
alexplev
Гость
« Ответ #10 : 01-12-2008 08:55 » 

Я часто использую макросы ATL для преобразования строк и забыл о проблемах. Преобразовывают все, даже думать не надо.
Пример:
       CString str;
       str= CW2A(wstr);
Получаем из широкой строки строку класса CString. Найдите в MSDN  поиском CW2A, там все просто.
Записан
sss
Специалист

ru
Offline Offline

« Ответ #11 : 01-12-2008 10:04 » 

alexplev -  буфер str будет 100 МБ и Вы получите зависшее приложение... А кстати, есть предел на длину строки CString ? А если файл будет 3 ГБ ?
Записан

while (8==8)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #12 : 01-12-2008 10:07 » 

предела CString нету , вернее - озу+файл подкачки Отлично
Записан

Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #13 : 02-12-2008 07:07 » 

sss, читай файл построчно
Записан

Странно всё это....
sss
Специалист

ru
Offline Offline

« Ответ #14 : 02-12-2008 08:26 » 

LogRus, примерно так и буду... А если нет CRLF? Ну это так, гипотетически Ага... Я тут подумываю над примерно таким алгоритмом:
1) Читаем "порцию" (80 - 128 байт).
2) Идем дальше, пока не обнаруживаем символ < 127...

предела CString нету , вернее - озу+файл подкачки Отлично

Алексей1153++, все далеко не так... Чем ограничивается виртуальное адресное пространство процесса ? Неужели можно выделить 2 ГБ + 1 байт в 32 битной системе без AWE? А непрерывность строки?
Записан

while (8==8)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #15 : 02-12-2008 08:33 » 

sss, ну я же образно Улыбаюсь Конечно, всё в разумных пределах должно оставаться, иначе за что нам с тобой з/п платят ? Улыбаюсь)
Записан

Артем
Опытный

nz
Offline Offline
Пол: Мужской
Beware the wolf in sheep's clothing.


« Ответ #16 : 02-12-2008 09:14 » 

LogRus, допустим есть исходный файл, размером в 100 МБ в кодировке UTF-8.
Задача - простой просмотр в кодировке 1251 (FAR F3).

Насколько я помню, 1251 -- это кириллическая кодировка. Следовательно, чтобы корректно вывести юникод символ в 1251, надо чтобы этот самый символ был тоже "кириллический".
Далее, смотрим http://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0_%D0%B2_%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4%D0%B5 , и видим, что для кириллицы используется диапазон 0400-04FF  (ВАЖНО: это в Unicode!).

Теперь смотрим, что такое UTF-8: http://ru.wikipedia.org/wiki/UTF-8 , там есть табличка "Символы UTF-8 получаются из Unicode следующим образом:"

из нее мы узнаем, что  кириллица (0400-04FF) в UTF-8 (ВСЕГДА!!!) представляется ДВУМЯ байтами!!! В виде 110xxxxx 10xxxxxx.

Прочитав пару байт ты сможешь узнать являются ли они кириллическим символом или нет, и, соответственно обрабатывать

Но и в общем-то все Улыбаюсь

« Последнее редактирование: 02-12-2008 09:21 от Артем » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 02-12-2008 09:54 » 

Надо еще помнить, что в cp1251 входят unicode-символы не только 0x04XX, а также то, что будут символы, которые не входят в cp1251 (их придется либо отбрасывать, либо перекодировать во что-то близкое по смыслу).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
sss
Специалист

ru
Offline Offline

« Ответ #18 : 02-12-2008 10:13 » 

Артем, я и не сомневаюсь.. Спасибо. Только, почему одни русские? как-то не универсально... Хотя я это просто из вредности....

RXL, напутал? Не "в cp1251 входят unicode-символы не только 0x04XX", а в UTF-8 ?

« Последнее редактирование: 02-12-2008 10:15 от sss » Записан

while (8==8)
Артем
Опытный

nz
Offline Offline
Пол: Мужской
Beware the wolf in sheep's clothing.


« Ответ #19 : 02-12-2008 13:32 » 

Артем, я и не сомневаюсь.. Спасибо. Только, почему одни русские? как-то не универсально...

Ты имеешь ввиду, "почему одни русские обрабатывать в 1251 ?" ? Потому что, очень трудно отобразить,  например, китайские иероглифы в ср1251 Улыбаюсь

А насчет точного диапазона, конечно же лучше посмотреть http://ru.wikipedia.org/wiki/CP1251
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 02-12-2008 14:13 » 

sss, нет, не напутал.

Символы Unicode <--maping--> Символы 8-битных кодировок

UTF-8 - форма представления Unicode.

1. Конвертируешь UTF-8 (multi byte) в Unicode (wide char).
2. Нужна таблица мепинга: cp1251 -> Unicode. Выполняешь обратный поиск.
3. Все, что не вошло в cp1251 - откидывать.

Таблица соответсвия.
Unicode    cp1251    Название символа
CHARMAP
<U0000>     /x00         NULL (NUL)
<U0001>     /x01         START OF HEADING (SOH)
<U0002>     /x02         START OF TEXT (STX)
<U0003>     /x03         END OF TEXT (ETX)
<U0004>     /x04         END OF TRANSMISSION (EOT)
<U0005>     /x05         ENQUIRY (ENQ)
<U0006>     /x06         ACKNOWLEDGE (ACK)
<U0007>     /x07         BELL (BEL)
<U0008>     /x08         BACKSPACE (BS)
<U0009>     /x09         CHARACTER TABULATION (HT)
<U000A>     /x0a         LINE FEED (LF)
<U000B>     /x0b         LINE TABULATION (VT)
<U000C>     /x0c         FORM FEED (FF)
<U000D>     /x0d         CARRIAGE RETURN (CR)
<U000E>     /x0e         SHIFT OUT (SO)
<U000F>     /x0f         SHIFT IN (SI)
<U0010>     /x10         DATALINK ESCAPE (DLE)
<U0011>     /x11         DEVICE CONTROL ONE (DC1)
<U0012>     /x12         DEVICE CONTROL TWO (DC2)
<U0013>     /x13         DEVICE CONTROL THREE (DC3)
<U0014>     /x14         DEVICE CONTROL FOUR (DC4)
<U0015>     /x15         NEGATIVE ACKNOWLEDGE (NAK)
<U0016>     /x16         SYNCHRONOUS IDLE (SYN)
<U0017>     /x17         END OF TRANSMISSION BLOCK (ETB)
<U0018>     /x18         CANCEL (CAN)
<U0019>     /x19         END OF MEDIUM (EM)
<U001A>     /x1a         SUBSTITUTE (SUB)
<U001B>     /x1b         ESCAPE (ESC)
<U001C>     /x1c         FILE SEPARATOR (IS4)
<U001D>     /x1d         GROUP SEPARATOR (IS3)
<U001E>     /x1e         RECORD SEPARATOR (IS2)
<U001F>     /x1f         UNIT SEPARATOR (IS1)
<U0020>     /x20         SPACE
<U0021>     /x21         EXCLAMATION MARK
<U0022>     /x22         QUOTATION MARK
<U0023>     /x23         NUMBER SIGN
<U0024>     /x24         DOLLAR SIGN
<U0025>     /x25         PERCENT SIGN
<U0026>     /x26         AMPERSAND
<U0027>     /x27         APOSTROPHE
<U0028>     /x28         LEFT PARENTHESIS
<U0029>     /x29         RIGHT PARENTHESIS
<U002A>     /x2a         ASTERISK
<U002B>     /x2b         PLUS SIGN
<U002C>     /x2c         COMMA
<U002D>     /x2d         HYPHEN-MINUS
<U002E>     /x2e         FULL STOP
<U002F>     /x2f         SOLIDUS
<U0030>     /x30         DIGIT ZERO
<U0031>     /x31         DIGIT ONE
<U0032>     /x32         DIGIT TWO
<U0033>     /x33         DIGIT THREE
<U0034>     /x34         DIGIT FOUR
<U0035>     /x35         DIGIT FIVE
<U0036>     /x36         DIGIT SIX
<U0037>     /x37         DIGIT SEVEN
<U0038>     /x38         DIGIT EIGHT
<U0039>     /x39         DIGIT NINE
<U003A>     /x3a         COLON
<U003B>     /x3b         SEMICOLON
<U003C>     /x3c         LESS-THAN SIGN
<U003D>     /x3d         EQUALS SIGN
<U003E>     /x3e         GREATER-THAN SIGN
<U003F>     /x3f         QUESTION MARK
<U0040>     /x40         COMMERCIAL AT
<U0041>     /x41         LATIN CAPITAL LETTER A
<U0042>     /x42         LATIN CAPITAL LETTER B
<U0043>     /x43         LATIN CAPITAL LETTER C
<U0044>     /x44         LATIN CAPITAL LETTER D
<U0045>     /x45         LATIN CAPITAL LETTER E
<U0046>     /x46         LATIN CAPITAL LETTER F
<U0047>     /x47         LATIN CAPITAL LETTER G
<U0048>     /x48         LATIN CAPITAL LETTER H
<U0049>     /x49         LATIN CAPITAL LETTER I
<U004A>     /x4a         LATIN CAPITAL LETTER J
<U004B>     /x4b         LATIN CAPITAL LETTER K
<U004C>     /x4c         LATIN CAPITAL LETTER L
<U004D>     /x4d         LATIN CAPITAL LETTER M
<U004E>     /x4e         LATIN CAPITAL LETTER N
<U004F>     /x4f         LATIN CAPITAL LETTER O
<U0050>     /x50         LATIN CAPITAL LETTER P
<U0051>     /x51         LATIN CAPITAL LETTER Q
<U0052>     /x52         LATIN CAPITAL LETTER R
<U0053>     /x53         LATIN CAPITAL LETTER S
<U0054>     /x54         LATIN CAPITAL LETTER T
<U0055>     /x55         LATIN CAPITAL LETTER U
<U0056>     /x56         LATIN CAPITAL LETTER V
<U0057>     /x57         LATIN CAPITAL LETTER W
<U0058>     /x58         LATIN CAPITAL LETTER X
<U0059>     /x59         LATIN CAPITAL LETTER Y
<U005A>     /x5a         LATIN CAPITAL LETTER Z
<U005B>     /x5b         LEFT SQUARE BRACKET
<U005C>     /x5c         REVERSE SOLIDUS
<U005D>     /x5d         RIGHT SQUARE BRACKET
<U005E>     /x5e         CIRCUMFLEX ACCENT
<U005F>     /x5f         LOW LINE
<U0060>     /x60         GRAVE ACCENT
<U0061>     /x61         LATIN SMALL LETTER A
<U0062>     /x62         LATIN SMALL LETTER B
<U0063>     /x63         LATIN SMALL LETTER C
<U0064>     /x64         LATIN SMALL LETTER D
<U0065>     /x65         LATIN SMALL LETTER E
<U0066>     /x66         LATIN SMALL LETTER F
<U0067>     /x67         LATIN SMALL LETTER G
<U0068>     /x68         LATIN SMALL LETTER H
<U0069>     /x69         LATIN SMALL LETTER I
<U006A>     /x6a         LATIN SMALL LETTER J
<U006B>     /x6b         LATIN SMALL LETTER K
<U006C>     /x6c         LATIN SMALL LETTER L
<U006D>     /x6d         LATIN SMALL LETTER M
<U006E>     /x6e         LATIN SMALL LETTER N
<U006F>     /x6f         LATIN SMALL LETTER O
<U0070>     /x70         LATIN SMALL LETTER P
<U0071>     /x71         LATIN SMALL LETTER Q
<U0072>     /x72         LATIN SMALL LETTER R
<U0073>     /x73         LATIN SMALL LETTER S
<U0074>     /x74         LATIN SMALL LETTER T
<U0075>     /x75         LATIN SMALL LETTER U
<U0076>     /x76         LATIN SMALL LETTER V
<U0077>     /x77         LATIN SMALL LETTER W
<U0078>     /x78         LATIN SMALL LETTER X
<U0079>     /x79         LATIN SMALL LETTER Y
<U007A>     /x7a         LATIN SMALL LETTER Z
<U007B>     /x7b         LEFT CURLY BRACKET
<U007C>     /x7c         VERTICAL LINE
<U007D>     /x7d         RIGHT CURLY BRACKET
<U007E>     /x7e         TILDE
<U007F>     /x7f         DELETE (DEL)
<U0402>     /x80         CYRILLIC CAPITAL LETTER DJE (Serbocroatian)
<U0403>     /x81         CYRILLIC CAPITAL LETTER GJE
<U201A>     /x82         SINGLE LOW-9 QUOTATION MARK
<U0453>     /x83         CYRILLIC SMALL LETTER GJE
<U201E>     /x84         DOUBLE LOW-9 QUOTATION MARK
<U2026>     /x85         HORIZONTAL ELLIPSIS
<U2020>     /x86         DAGGER
<U2021>     /x87         DOUBLE DAGGER
<U20AC>     /x88         EURO SIGN
<U2030>     /x89         PER MILLE SIGN
<U0409>     /x8a         CYRILLIC CAPITAL LETTER LJE
<U2039>     /x8b         SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<U040A>     /x8c         CYRILLIC CAPITAL LETTER NJE
<U040C>     /x8d         CYRILLIC CAPITAL LETTER KJE
<U040B>     /x8e         CYRILLIC CAPITAL LETTER TSHE (Serbocroatian)
<U040F>     /x8f         CYRILLIC CAPITAL LETTER DZHE
<U0452>     /x90         CYRILLIC SMALL LETTER DJE (Serbocroatian)
<U2018>     /x91         LEFT SINGLE QUOTATION MARK
<U2019>     /x92         RIGHT SINGLE QUOTATION MARK
<U201C>     /x93         LEFT DOUBLE QUOTATION MARK
<U201D>     /x94         RIGHT DOUBLE QUOTATION MARK
<U2022>     /x95         BULLET
<U2013>     /x96         EN DASH
<U2014>     /x97         EM DASH
<U2122>     /x99         TRADE MARK SIGN
<U0459>     /x9a         CYRILLIC SMALL LETTER LJE
<U203A>     /x9b         SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
<U045A>     /x9c         CYRILLIC SMALL LETTER NJE
<U045C>     /x9d         CYRILLIC SMALL LETTER KJE
<U045B>     /x9e         CYRILLIC SMALL LETTER TSHE (Serbocroatian)
<U045F>     /x9f         CYRILLIC SMALL LETTER DZHE
<U00A0>     /xa0         NO-BREAK SPACE
<U040E>     /xa1         CYRILLIC CAPITAL LETTER SHORT U (Byelorussian)
<U045E>     /xa2         CYRILLIC SMALL LETTER SHORT U (Byelorussian)
<U0408>     /xa3         CYRILLIC CAPITAL LETTER JE
<U00A4>     /xa4         CURRENCY SIGN
<U0490>     /xa5         CYRILLIC CAPITAL LETTER GHE WITH UPTURN
<U00A6>     /xa6         BROKEN BAR
<U00A7>     /xa7         SECTION SIGN
<U0401>     /xa8         CYRILLIC CAPITAL LETTER IO
<U00A9>     /xa9         COPYRIGHT SIGN
<U0404>     /xaa         CYRILLIC CAPITAL LETTER UKRAINIAN IE
<U00AB>     /xab         LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<U00AC>     /xac         NOT SIGN
<U00AD>     /xad         SOFT HYPHEN
<U00AE>     /xae         REGISTERED SIGN
<U0407>     /xaf         CYRILLIC CAPITAL LETTER YI (Ukrainian)
<U00B0>     /xb0         DEGREE SIGN
<U00B1>     /xb1         PLUS-MINUS SIGN
<U0406>     /xb2         CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
<U0456>     /xb3         CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
<U0491>     /xb4         CYRILLIC SMALL LETTER GHE WITH UPTURN
<U00B5>     /xb5         MICRO SIGN
<U00B6>     /xb6         PILCROW SIGN
<U00B7>     /xb7         MIDDLE DOT
<U0451>     /xb8         CYRILLIC SMALL LETTER IO
<U2116>     /xb9         NUMERO SIGN
<U0454>     /xba         CYRILLIC SMALL LETTER UKRAINIAN IE
<U00BB>     /xbb         RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<U0458>     /xbc         CYRILLIC SMALL LETTER JE
<U0405>     /xbd         CYRILLIC CAPITAL LETTER DZE
<U0455>     /xbe         CYRILLIC SMALL LETTER DZE
<U0457>     /xbf         CYRILLIC SMALL LETTER YI (Ukrainian)
<U0410>     /xc0         CYRILLIC CAPITAL LETTER A
<U0411>     /xc1         CYRILLIC CAPITAL LETTER BE
<U0412>     /xc2         CYRILLIC CAPITAL LETTER VE
<U0413>     /xc3         CYRILLIC CAPITAL LETTER GHE
<U0414>     /xc4         CYRILLIC CAPITAL LETTER DE
<U0415>     /xc5         CYRILLIC CAPITAL LETTER IE
<U0416>     /xc6         CYRILLIC CAPITAL LETTER ZHE
<U0417>     /xc7         CYRILLIC CAPITAL LETTER ZE
<U0418>     /xc8         CYRILLIC CAPITAL LETTER I
<U0419>     /xc9         CYRILLIC CAPITAL LETTER SHORT I
<U041A>     /xca         CYRILLIC CAPITAL LETTER KA
<U041B>     /xcb         CYRILLIC CAPITAL LETTER EL
<U041C>     /xcc         CYRILLIC CAPITAL LETTER EM
<U041D>     /xcd         CYRILLIC CAPITAL LETTER EN
<U041E>     /xce         CYRILLIC CAPITAL LETTER O
<U041F>     /xcf         CYRILLIC CAPITAL LETTER PE
<U0420>     /xd0         CYRILLIC CAPITAL LETTER ER
<U0421>     /xd1         CYRILLIC CAPITAL LETTER ES
<U0422>     /xd2         CYRILLIC CAPITAL LETTER TE
<U0423>     /xd3         CYRILLIC CAPITAL LETTER U
<U0424>     /xd4         CYRILLIC CAPITAL LETTER EF
<U0425>     /xd5         CYRILLIC CAPITAL LETTER HA
<U0426>     /xd6         CYRILLIC CAPITAL LETTER TSE
<U0427>     /xd7         CYRILLIC CAPITAL LETTER CHE
<U0428>     /xd8         CYRILLIC CAPITAL LETTER SHA
<U0429>     /xd9         CYRILLIC CAPITAL LETTER SHCHA
<U042A>     /xda         CYRILLIC CAPITAL LETTER HARD SIGN
<U042B>     /xdb         CYRILLIC CAPITAL LETTER YERU
<U042C>     /xdc         CYRILLIC CAPITAL LETTER SOFT SIGN
<U042D>     /xdd         CYRILLIC CAPITAL LETTER E
<U042E>     /xde         CYRILLIC CAPITAL LETTER YU
<U042F>     /xdf         CYRILLIC CAPITAL LETTER YA
<U0430>     /xe0         CYRILLIC SMALL LETTER A
<U0431>     /xe1         CYRILLIC SMALL LETTER BE
<U0432>     /xe2         CYRILLIC SMALL LETTER VE
<U0433>     /xe3         CYRILLIC SMALL LETTER GHE
<U0434>     /xe4         CYRILLIC SMALL LETTER DE
<U0435>     /xe5         CYRILLIC SMALL LETTER IE
<U0436>     /xe6         CYRILLIC SMALL LETTER ZHE
<U0437>     /xe7         CYRILLIC SMALL LETTER ZE
<U0438>     /xe8         CYRILLIC SMALL LETTER I
<U0439>     /xe9         CYRILLIC SMALL LETTER SHORT I
<U043A>     /xea         CYRILLIC SMALL LETTER KA
<U043B>     /xeb         CYRILLIC SMALL LETTER EL
<U043C>     /xec         CYRILLIC SMALL LETTER EM
<U043D>     /xed         CYRILLIC SMALL LETTER EN
<U043E>     /xee         CYRILLIC SMALL LETTER O
<U043F>     /xef         CYRILLIC SMALL LETTER PE
<U0440>     /xf0         CYRILLIC SMALL LETTER ER
<U0441>     /xf1         CYRILLIC SMALL LETTER ES
<U0442>     /xf2         CYRILLIC SMALL LETTER TE
<U0443>     /xf3         CYRILLIC SMALL LETTER U
<U0444>     /xf4         CYRILLIC SMALL LETTER EF
<U0445>     /xf5         CYRILLIC SMALL LETTER HA
<U0446>     /xf6         CYRILLIC SMALL LETTER TSE
<U0447>     /xf7         CYRILLIC SMALL LETTER CHE
<U0448>     /xf8         CYRILLIC SMALL LETTER SHA
<U0449>     /xf9         CYRILLIC SMALL LETTER SHCHA
<U044A>     /xfa         CYRILLIC SMALL LETTER HARD SIGN
<U044B>     /xfb         CYRILLIC SMALL LETTER YERU
<U044C>     /xfc         CYRILLIC SMALL LETTER SOFT SIGN
<U044D>     /xfd         CYRILLIC SMALL LETTER E
<U044E>     /xfe         CYRILLIC SMALL LETTER YU
<U044F>     /xff         CYRILLIC SMALL LETTER YA
« Последнее редактирование: 02-12-2008 14:15 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines