Здравствуйте. Работаю с архивами: создание, добавление элементов и т.д..
Такая проблема: сторонний метод принимает имя элемента или архива const char*, если имя содержит русские символы, то работает не правильно.
Конвертирую в Utf8, работает, но делаю это через wstring(пока тестирую), который не знаю как заполнять снаружи, например из консоли или какого-нибудь пользовательского интерфейса.
Можно ли обойтись без wstring или заполнять wstring снаружи?
Консоль здесь ни при чём.
Пример того, что делаю я:
std::wstring zipName = L"C:\\Users\\malenkov\\Desktop\\Test\\маша.zip";
/// Конвертация
inline std::string ToUtf8(const std::wstring& str)
{
static std::wstring_convert<std::codecvt_utf8<wchar_t>> Utf8conv;
return Utf8conv.to_bytes(str);
}
/// Создание архива
zip_t* zipArchive = ::zip_open(ToUtf8(zipName).c_str(), ZIP_CREATE, &error);
И вот я хочу узнать: как можно задать zipName в рантайме, ведь без wstring, как я понимаю, не обойтись.
Такая проблема: сторонний метод принимает имя элемента или архива const char*, если имя содержит русские символы, то работает не правильно.
Конвертирую в Utf8, работает, но делаю это через wstring(пока тестирую), который не знаю как заполнять снаружи, например из консоли или какого-нибудь пользовательского интерфейса.
Это говорит только о том, что сторонний метод ждет UTF-8, представленное в виде массива 8-битных символов (const char*).
Консоль здесь ни при чём.
Сама консоль возможно не причем (хотя как сказать), а вот какая локаль выставлена - это существенно. Это определяет в каком именно виде будут переданы вводимые данные в рантайме. Например, если вы вводите строку из консоли, работающей в локали ru_RU.CP1251 - то прилетят 8-битные символы, если ru_RU.UTF-8 - на вход прилетит уже сформированная UTF-8 строка.
Таким образом, задача сводится к шагам:
Но есть важные замечания
Первое
UI предназначается для работы с символами, а не с кодами символов! Что это значит? В различных 8-битовых кодировках (в расширенной части 128-255) определены собственные символы, которые могут отсутствовать в "соседних" 8-битных кодировках. Поэтому "почти" однозначное преобразование возможно только в одном направлении ASCII->UTF-8. Почему "почти"? Например, если взять символы кириллицы, то символ с кодом 0x98 из cp1251 - не имеет аналога ни в Unicode, ни в UTF-8.
Второе
"Широкие символы" в стандарте Unicode 4.0 (ISO/IEC 10646:2003) определяются как compiler-specific, и могут быть даже 8-ми битными. Поэтому, дабы подстраховаться от потерь при преобразованиях, я бы посоветовал вместо std::wstring использовать std::u32string
Третье
Используя STL, конечно же, лучше всего использовать предоставляемые средства перекодировок, это обеспечит большую кроссплатформенность кода. И, тем не менее, если программа должна обеспечивать наиболее полный набор UTF-8, включая разнообразные иероглифические кодировки, можно глянуть внешнюю библиотеку ICU.
Четвертое
Для работы сугубо с кириллицей можно попробовать написать свои процедуры перекодировок. Для C++ я не вижу необходимости. Хотя для чистого Си, в принципе можно. Ниже представлю таблицу, которую собирал по различным стандартам из unicode.org которую в данный момент собираюсь использовать для написания собственной библиотеки для Lua.
Часть-2
Название символа Unicode Dos Iso Koi Mac Win UTF-8
==========================================================================================================
DAGGER................................................ 2020 - - - A0 86 E280A0
DARK SHADE............................................ 2593 B2 - 92 - - E29693
DATA LINK ESCAPE...................................... 0010 10 10 10 10 10 10
DEGREE SIGN........................................... 00B0 F8 - 9C A1 B0 C2B0
DELETE................................................ 007F 7F 7F 7F 7F 7F 7F
DEVICE CONTROL FOUR................................... 0014 14 14 14 14 14 14
DEVICE CONTROL ONE.................................... 0011 11 11 11 11 11 11
DEVICE CONTROL THREE.................................. 0013 13 13 13 13 13 13
DEVICE CONTROL TWO.................................... 0012 12 12 12 12 12 12
DIGIT EIGHT........................................... 0038 38 38 38 38 38 38
DIGIT FIVE............................................ 0035 35 35 35 35 35 35
DIGIT FOUR............................................ 0034 34 34 34 34 34 34
DIGIT NINE............................................ 0039 39 39 39 39 39 39
DIGIT ONE............................................. 0031 31 31 31 31 31 31
DIGIT SEVEN........................................... 0037 37 37 37 37 37 37
DIGIT SIX............................................. 0036 36 36 36 36 36 36
DIGIT THREE........................................... 0033 33 33 33 33 33 33
DIGIT TWO............................................. 0032 32 32 32 32 32 32
DIGIT ZERO............................................ 0030 30 30 30 30 30 30
DIVISION SIGN......................................... 00F7 - - 9F D6 - C3B7
DOLLAR SIGN........................................... 0024 24 24 24 24 24 24
DOUBLE DAGGER......................................... 2021 - - - - 87 E280A1
DOUBLE LOW-9 QUOTATION MARK........................... 201E - - - D7 84 E2809E
EM DASH............................................... 2014 - - - D1 97 E2B8BB
EN DASH............................................... 2013 - - - D0 96 E28093
END OF MEDIUM......................................... 0019 19 19 19 19 19 19
END OF TEXT........................................... 0003 03 03 03 03 03 03
END OF TRANSMISSION................................... 0004 04 04 04 04 04 04
END OF TRANSMISSION BLOCK............................. 0017 17 17 17 17 17 17
ENQUIRY............................................... 0005 05 05 05 05 05 05
EQUALS SIGN........................................... 003D 3D 3D 3D 3D 3D 3D
ESCAPE................................................ 001B 1B 1B 1B 1B 1B 1B
EURO SIGN............................................. 20AC - - - - 88 E282AC
EXCLAMATION MARK...................................... 0021 21 21 21 21 21 21
FILE SEPARATOR........................................ 001C 1C 1C 1C 1C 1C 1C
FORM FEED............................................. 000C 0C 0C 0C 0C 0C 0C
FULL BLOCK............................................ 2588 DB - 8D - - E29688
FULL STOP............................................. 002E 2E 2E 2E 2E 2E 2E
GRAVE ACCENT.......................................... 0060 60 60 60 60 60 60
GREATER-THAN OR EQUAL TO.............................. 2265 - - 99 B3 - E289A5
GREATER-THAN SIGN..................................... 003E 3E 3E 3E 3E 3E 3E
GROUP SEPARATOR....................................... 001D 1D 1D 1D 1D 1D 1D
HORIZONTAL ELLIPSIS................................... 2026 - - - C9 85 E28BAF
HORIZONTAL TABULATION................................. 0009 09 09 09 09 09 09
HYPHEN-MINUS.......................................... 002D 2D 2D 2D 2D 2D 2D
INCREMENT............................................. 2206 - - - C6 - E28886
INFINITY.............................................. 221E - - - B0 - E2889E
LATIN CAPITAL LETTER A................................ 0041 41 41 41 41 41 41
LATIN CAPITAL LETTER B................................ 0042 42 42 42 42 42 42
LATIN CAPITAL LETTER C................................ 0043 43 43 43 43 43 43
LATIN CAPITAL LETTER D................................ 0044 44 44 44 44 44 44
LATIN CAPITAL LETTER E................................ 0045 45 45 45 45 45 45
LATIN CAPITAL LETTER F................................ 0046 46 46 46 46 46 46
LATIN CAPITAL LETTER G................................ 0047 47 47 47 47 47 47
LATIN CAPITAL LETTER H................................ 0048 48 48 48 48 48 48
LATIN CAPITAL LETTER I................................ 0049 49 49 49 49 49 49
LATIN CAPITAL LETTER J................................ 004A 4A 4A 4A 4A 4A 4A
LATIN CAPITAL LETTER K................................ 004B 4B 4B 4B 4B 4B 4B
LATIN CAPITAL LETTER L................................ 004C 4C 4C 4C 4C 4C 4C
LATIN CAPITAL LETTER M................................ 004D 4D 4D 4D 4D 4D 4D
LATIN CAPITAL LETTER N................................ 004E 4E 4E 4E 4E 4E 4E
LATIN CAPITAL LETTER O................................ 004F 4F 4F 4F 4F 4F 4F
LATIN CAPITAL LETTER P................................ 0050 50 50 50 50 50 50
LATIN CAPITAL LETTER Q................................ 0051 51 51 51 51 51 51
LATIN CAPITAL LETTER R................................ 0052 52 52 52 52 52 52
LATIN CAPITAL LETTER S................................ 0053 53 53 53 53 53 53
LATIN CAPITAL LETTER T................................ 0054 54 54 54 54 54 54
LATIN CAPITAL LETTER U................................ 0055 55 55 55 55 55 55
LATIN CAPITAL LETTER V................................ 0056 56 56 56 56 56 56
LATIN CAPITAL LETTER W................................ 0057 57 57 57 57 57 57
LATIN CAPITAL LETTER X................................ 0058 58 58 58 58 58 58
LATIN CAPITAL LETTER Y................................ 0059 59 59 59 59 59 59
LATIN CAPITAL LETTER Z................................ 005A 5A 5A 5A 5A 5A 5A
LATIN SMALL LETTER A.................................. 0061 61 61 61 61 61 61
LATIN SMALL LETTER B.................................. 0062 62 62 62 62 62 62
LATIN SMALL LETTER C.................................. 0063 63 63 63 63 63 63
LATIN SMALL LETTER D.................................. 0064 64 64 64 64 64 64
LATIN SMALL LETTER E.................................. 0065 65 65 65 65 65 65
LATIN SMALL LETTER F.................................. 0066 66 66 66 66 66 66
LATIN SMALL LETTER F WITH HOOK........................ 0192 - - - C4 - C692
LATIN SMALL LETTER G.................................. 0067 67 67 67 67 67 67
LATIN SMALL LETTER H.................................. 0068 68 68 68 68 68 68
LATIN SMALL LETTER I.................................. 0069 69 69 69 69 69 69
LATIN SMALL LETTER J.................................. 006A 6A 6A 6A 6A 6A 6A
LATIN SMALL LETTER K.................................. 006B 6B 6B 6B 6B 6B 6B
LATIN SMALL LETTER L.................................. 006C 6C 6C 6C 6C 6C 6C
LATIN SMALL LETTER M.................................. 006D 6D 6D 6D 6D 6D 6D
LATIN SMALL LETTER N.................................. 006E 6E 6E 6E 6E 6E 6E
LATIN SMALL LETTER O.................................. 006F 6F 6F 6F 6F 6F 6F
LATIN SMALL LETTER P.................................. 0070 70 70 70 70 70 70
LATIN SMALL LETTER Q.................................. 0071 71 71 71 71 71 71
LATIN SMALL LETTER R.................................. 0072 72 72 72 72 72 72
LATIN SMALL LETTER S.................................. 0073 73 73 73 73 73 73
LATIN SMALL LETTER T.................................. 0074 74 74 74 74 74 74
LATIN SMALL LETTER U.................................. 0075 75 75 75 75 75 75
LATIN SMALL LETTER V.................................. 0076 76 76 76 76 76 76
LATIN SMALL LETTER W.................................. 0077 77 77 77 77 77 77
LATIN SMALL LETTER X.................................. 0078 78 78 78 78 78 78
LATIN SMALL LETTER Y.................................. 0079 79 79 79 79 79 79
LATIN SMALL LETTER Z.................................. 007A 7A 7A 7A 7A 7A 7A
LEFT CURLY BRACKET.................................... 007B 7B 7B 7B 7B 7B 7B
LEFT DOUBLE QUOTATION MARK............................ 201C - - - D2 93 E2809C
LEFT HALF BLOCK....................................... 258C DD - 8E - - E2968C
LEFT PARENTHESIS...................................... 0028 28 28 28 28 28 28
LEFT SINGLE QUOTATION MARK............................ 2018 - - - D4 91 E28098
LEFT SQUARE BRACKET................................... 005B 5B 5B 5B 5B 5B 5B
LEFT-POINTING DOUBLE ANGLE QUOTATION MARK............. 00AB - - - C7 AB C2AB
LESS-THAN OR EQUAL TO................................. 2264 - - 98 B2 - E289A4
LESS-THAN SIGN........................................ 003C 3C 3C 3C 3C 3C 3C
LIGHT SHADE........................................... 2591 B0 - 90 - - E29691
LINE FEED............................................. 000A 0A 0A 0A 0A 0A 0A
LOW LINE.............................................. 005F 5F 5F 5F 5F 5F 5F
LOWER HALF BLOCK...................................... 2584 DC - 8C - - E29684
MEDIUM SHADE.......................................... 2592 B1 - 91 - - E29692
MICRO SIGN............................................ 00B5 - - - B5 B5 C2B5
MIDDLE DOT............................................ 00B7 FA - 9E - B7 C2B7
NEGATIVE ACKNOWLEDGE.................................. 0015 15 15 15 15 15 15
NO-BREAK SPACE........................................ 00A0 FF A0 9A CA A0 C2A0
NOT EQUAL TO.......................................... 2260 - - - AD - E289A0
NOT SIGN.............................................. 00AC - - - C2 AC C2AC
NULL.................................................. 0000 00 00 00 00 00 00
NUMBER SIGN........................................... 0023 23 23 23 23 23 23
NUMERO SIGN........................................... 2116 FC F0 - DC B9 E28496
PARTIAL DIFFERENTIAL.................................. 2202 - - - B6 - E28882
PER MILLE SIGN........................................ 2030 - - - - 89 E280B0
PERCENT SIGN.......................................... 0025 25 25 25 25 25 25
PILCROW SIGN.......................................... 00B6 - - - A6 B6 C2B6
PLUS SIGN............................................. 002B 2B 2B 2B 2B 2B 2B
PLUS-MINUS SIGN....................................... 00B1 - - - B1 B1 C2B1
POUND SIGN............................................ 00A3 - - - A3 - C2A3
QUESTION MARK......................................... 003F 3F 3F 3F 3F 3F 3F
QUOTATION MARK........................................ 0022 22 22 22 22 22 22
RECORD SEPARATOR...................................... 001E 1E 1E 1E 1E 1E 1E
REGISTERED SIGN....................................... 00AE - - - A8 AE C2AE
REVERSE SOLIDUS....................................... 005C 5C 5C 5C 5C 5C 5C
RIGHT CURLY BRACKET................................... 007D 7D 7D 7D 7D 7D 7D
RIGHT DOUBLE QUOTATION MARK........................... 201D - - - D3 94 E2809D
RIGHT HALF BLOCK...................................... 2590 DE - 8F - - E29690
RIGHT PARENTHESIS..................................... 0029 29 29 29 29 29 29
RIGHT SINGLE QUOTATION MARK........................... 2019 - - - D5 92 E28099
RIGHT SQUARE BRACKET.................................. 005D 5D 5D 5D 5D 5D 5D
RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK............ 00BB - - - C8 BB C2BB
SECTION SIGN.......................................... 00A7 - FD - A4 A7 C2A7
SEMICOLON............................................. 003B 3B 3B 3B 3B 3B 3B
SHIFT IN.............................................. 000F 0F 0F 0F 0F 0F 0F
SHIFT OUT............................................. 000E 0E 0E 0E 0E 0E 0E
SINGLE LEFT-POINTING ANGLE QUOTATION MARK............. 2039 - - - - 8B E280B9
SINGLE LOW-9 QUOTATION MARK........................... 201A - - - - 82 E2809A
SINGLE RIGHT-POINTING ANGLE QUOTATION MARK............ 203A - - - - 9B E280BA
SOFT HYPHEN........................................... 00AD - AD - - AD C2AD
SOLIDUS............................................... 002F 2F 2F 2F 2F 2F 2F
SPACE................................................. 0020 20 20 20 20 20 20
SQUARE ROOT........................................... 221A FB - 96 C3 - E2889A
START OF HEADING...................................... 0001 01 01 01 01 01 01
START OF TEXT......................................... 0002 02 02 02 02 02 02
SUBSTITUTE............................................ 001A 1A 1A 1A 1A 1A 1A
SUPERSCRIPT TWO....................................... 00B2 - - 9D - - C2B2
SYNCHRONOUS IDLE...................................... 0016 16 16 16 16 16 16
TILDE................................................. 007E 7E 7E 7E 7E 7E 7E
TOP HALF INTEGRAL..................................... 2320 - - 93 - - E28CA0
TRADE MARK SIGN....................................... 2122 - - - AA 99 E284A2
UNDEFINED............................................. ---- - - - - 98 ------
UNIT SEPARATOR........................................ 001F 1F 1F 1F 1F 1F 1F
UPPER HALF BLOCK...................................... 2580 DF - 8B - - E29680
VERTICAL LINE......................................... 007C 7C 7C 7C 7C 7C 7C
VERTICAL TABULATION................................... 000B 0B 0B 0B 0B 0B 0B
Сама таблица кириллических символов
Dos (cp866)
Win (windows-1251)
Koi (koi8-r)
Iso (ISO 8859-5)
Mac (Code Page 10007 Macintosh Cyrillic)
Utf (UTF-8 Cyrillic subset)
Часть-1
Название символа Unicode Dos Iso Koi Mac Win UTF-8
==========================================================================================================
<CONTROL>............................................. 009F - 9F - - - C29F
ACKNOWLEDGE........................................... 0006 06 06 06 06 06 06
ALMOST EQUAL TO....................................... 2248 - - 97 C5 - E28988
AMPERSAND............................................. 0026 26 26 26 26 26 26
APOSTROPHE............................................ 0027 27 27 27 27 27 27
ASTERISK.............................................. 002A 2A 2A 2A 2A 2A 2A
BACKSPACE............................................. 0008 08 08 08 08 08 08
BELL.................................................. 0007 07 07 07 07 07 07
BLACK SQUARE.......................................... 25A0 FE - 94 - - E296A0
BOTTOM HALF INTEGRAL.................................. 2321 - - 9B - - E28CA1
BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL............... 2566 CB - B8 - - E295A6
BOX DRAWINGS DOUBLE DOWN AND LEFT..................... 2557 BB - A8 - - E29597
BOX DRAWINGS DOUBLE DOWN AND RIGHT.................... 2554 C9 - A5 - - E29594
BOX DRAWINGS DOUBLE HORIZONTAL........................ 2550 CD - A0 - - E29590
BOX DRAWINGS DOUBLE UP AND HORIZONTAL................. 2569 CA - BB - - E295A9
BOX DRAWINGS DOUBLE UP AND LEFT....................... 255D BC - AE - - E2959D
BOX DRAWINGS DOUBLE UP AND RIGHT...................... 255A C8 - AB - - E2959A
BOX DRAWINGS DOUBLE VERTICAL.......................... 2551 BA - A1 - - E29591
BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL........... 256C CE - BE - - E295AC
BOX DRAWINGS DOUBLE VERTICAL AND LEFT................. 2563 B9 - B5 - - E295A3
BOX DRAWINGS DOUBLE VERTICAL AND RIGHT................ 2560 CC - B1 - - E295A0
BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE........ 2565 D2 - B7 - - E295A5
BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE.............. 2556 B7 - A7 - - E29596
BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE............. 2553 D6 - A4 - - E29593
BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE........ 2564 D1 - B6 - - E295A4
BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE.............. 2555 B8 - A6 - - E29595
BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE............. 2552 D5 - A2 - - E29592
BOX DRAWINGS LIGHT DOWN AND HORIZONTAL................ 252C C2 - 88 - - E294AC
BOX DRAWINGS LIGHT DOWN AND LEFT...................... 2510 BF - 83 - - E29490
BOX DRAWINGS LIGHT DOWN AND RIGHT..................... 250C DA - 82 - - E2948C
BOX DRAWINGS LIGHT HORIZONTAL......................... 2500 C4 - 80 - - E29480
BOX DRAWINGS LIGHT UP AND HORIZONTAL.................. 2534 C1 - 89 - - E294B4
BOX DRAWINGS LIGHT UP AND LEFT........................ 2518 D9 - 85 - - E29498
BOX DRAWINGS LIGHT UP AND RIGHT....................... 2514 C0 - 84 - - E29494
BOX DRAWINGS LIGHT VERTICAL........................... 2502 B3 - 81 - - E29482
BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL............ 253C C5 - 8A - - E294BC
BOX DRAWINGS LIGHT VERTICAL AND LEFT.................. 2524 B4 - 87 - - E294A4
BOX DRAWINGS LIGHT VERTICAL AND RIGHT................. 251C C3 - 86 - - E2949C
BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE.......... 2568 D0 - BA - - E295A8
BOX DRAWINGS UP DOUBLE AND LEFT SINGLE................ 255C BD - AD - - E2959C
BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE............... 2559 D3 - AA - - E29599
BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE.......... 2567 CF - B9 - - E295A7
BOX DRAWINGS UP SINGLE AND LEFT DOUBLE................ 255B BE - AC - - E2959B
BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE............... 2558 D4 - A9 - - E29598
BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE.... 256B D7 - BD - - E295AB
BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE.......... 2562 B6 - B4 - - E295A2
BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE......... 255F C7 - B0 - - E2959F
BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE.... 256A D8 - BC - - E295AA
BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE.......... 2561 B5 - B2 - - E295A1
BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE......... 255E C6 - AF - - E2959E
BROKEN BAR............................................ 00A6 - - - - A6 C2A6
BULLET................................................ 2022 - - - A5 95 E280A2
BULLET OPERATOR....................................... 2219 F9 - 95 - - E28899
CANCEL................................................ 0018 18 18 18 18 18 18
CARRIAGE RETURN....................................... 000D 0D 0D 0D 0D 0D 0D
CENT SIGN............................................. 00A2 - - - A2 - C2A2
CIRCUMFLEX ACCENT..................................... 005E 5E 5E 5E 5E 5E 5E
COLON................................................. 003A 3A 3A 3A 3A 3A 3A
COMMA................................................. 002C 2C 2C 2C 2C 2C 2C
COMMERCIAL AT......................................... 0040 40 40 40 40 40 40
COPYRIGHT SIGN........................................ 00A9 - - BF A9 A9 C2A9
CURRENCY SIGN......................................... 00A4 FD - - FF A4 C2A4
CYRILLIC CAPITAL LETTER A............................. 0410 80 B0 E1 80 C0 D090
CYRILLIC CAPITAL LETTER BE............................ 0411 81 B1 E2 81 C1 D091
CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I...... 0406 - A6 - A7 B2 D086
CYRILLIC CAPITAL LETTER CHE........................... 0427 97 C7 FE 97 D7 D0A7
CYRILLIC CAPITAL LETTER DE............................ 0414 84 B4 E4 84 C4 D094
CYRILLIC CAPITAL LETTER DJE........................... 0402 - A2 - AB 80 D082
CYRILLIC CAPITAL LETTER DZE........................... 0405 - A5 - C1 BD D085
CYRILLIC CAPITAL LETTER DZHE.......................... 040F - AF - DA 8F D08F
CYRILLIC CAPITAL LETTER E............................. 042D 9D CD FC 9D DD D0AD
CYRILLIC CAPITAL LETTER EF............................ 0424 94 C4 E6 94 D4 D0A4
CYRILLIC CAPITAL LETTER EL............................ 041B 8B BB EC 8B CB D09B
CYRILLIC CAPITAL LETTER EM............................ 041C 8C BC ED 8C CC D09C
CYRILLIC CAPITAL LETTER EN............................ 041D 8D BD EE 8D CD D09D
CYRILLIC CAPITAL LETTER ER............................ 0420 90 C0 F2 90 D0 D0A0
CYRILLIC CAPITAL LETTER ES............................ 0421 91 C1 F3 91 D1 D0A1
CYRILLIC CAPITAL LETTER GHE........................... 0413 83 B3 E7 83 C3 D093
CYRILLIC CAPITAL LETTER GHE WITH UPTURN............... 0490 - - - - A5 D290
CYRILLIC CAPITAL LETTER GJE........................... 0403 - A3 - AE 81 D083
CYRILLIC CAPITAL LETTER HA............................ 0425 95 C5 E8 95 D5 D0A5
CYRILLIC CAPITAL LETTER HARD SIGN..................... 042A 9A CA FF 9A DA D0AA
CYRILLIC CAPITAL LETTER I............................. 0418 88 B8 E9 88 C8 D098
CYRILLIC CAPITAL LETTER IE............................ 0415 85 B5 E5 85 C5 D095
CYRILLIC CAPITAL LETTER IO............................ 0401 F0 A1 B3 DD A8 D081
CYRILLIC CAPITAL LETTER JE............................ 0408 - A8 - B7 A3 D088
CYRILLIC CAPITAL LETTER KA............................ 041A 8A BA EB 8A CA D09A
CYRILLIC CAPITAL LETTER KJE........................... 040C - AC - CD 8D D08C
CYRILLIC CAPITAL LETTER LJE........................... 0409 - A9 - BC 8A D089
CYRILLIC CAPITAL LETTER NJE........................... 040A - AA - BE 8C D08A
CYRILLIC CAPITAL LETTER O............................. 041E 8E BE EF 8E CE D09E
CYRILLIC CAPITAL LETTER PE............................ 041F 8F BF F0 8F CF D09F
CYRILLIC CAPITAL LETTER SHA........................... 0428 98 C8 FB 98 D8 D0A8
CYRILLIC CAPITAL LETTER SHCHA......................... 0429 99 C9 FD 99 D9 D0A9
CYRILLIC CAPITAL LETTER SHORT I....................... 0419 89 B9 EA 89 C9 D099
CYRILLIC CAPITAL LETTER SHORT U....................... 040E F6 AE - D8 A1 D08E
CYRILLIC CAPITAL LETTER SOFT SIGN..................... 042C 9C CC F8 9C DC D0AC
CYRILLIC CAPITAL LETTER TE............................ 0422 92 C2 F4 92 D2 D0A2
CYRILLIC CAPITAL LETTER TSE........................... 0426 96 C6 E3 96 D6 D0A6
CYRILLIC CAPITAL LETTER TSHE.......................... 040B - AB - CB 8E D08B
CYRILLIC CAPITAL LETTER U............................. 0423 93 C3 F5 93 D3 D0A3
CYRILLIC CAPITAL LETTER UKRAINIAN IE.................. 0404 F2 A4 - B8 AA D084
CYRILLIC CAPITAL LETTER VE............................ 0412 82 B2 F7 82 C2 D092
CYRILLIC CAPITAL LETTER YA............................ 042F 9F CF F1 9F DF D0AF
CYRILLIC CAPITAL LETTER YERU.......................... 042B 9B CB F9 9B DB D0AB
CYRILLIC CAPITAL LETTER YI............................ 0407 F4 A7 - BA AF D087
CYRILLIC CAPITAL LETTER YU............................ 042E 9E CE E0 9E DE D0AE
CYRILLIC CAPITAL LETTER ZE............................ 0417 87 B7 FA 87 C7 D097
CYRILLIC CAPITAL LETTER ZHE........................... 0416 86 B6 F6 86 C6 D096
CYRILLIC SMALL LETTER A............................... 0430 A0 D0 C1 E0 E0 D0B0
CYRILLIC SMALL LETTER BE.............................. 0431 A1 D1 C2 E1 E1 D0B1
CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I........ 0456 - F6 - B4 B3 D196
CYRILLIC SMALL LETTER CHE............................. 0447 E7 E7 DE F7 F7 D187
CYRILLIC SMALL LETTER DE.............................. 0434 A4 D4 C4 E4 E4 D0B4
CYRILLIC SMALL LETTER DJE............................. 0452 - F2 - AC 90 D192
CYRILLIC SMALL LETTER DZE............................. 0455 - F5 - CF BE D195
CYRILLIC SMALL LETTER DZHE............................ 045F - FF - DB 9F D19F
CYRILLIC SMALL LETTER E............................... 044D ED ED DC FD FD D18D
CYRILLIC SMALL LETTER EF.............................. 0444 E4 E4 C6 F4 F4 D184
CYRILLIC SMALL LETTER EL.............................. 043B AB DB CC EB EB D0BB
CYRILLIC SMALL LETTER EM.............................. 043C AC DC CD EC EC D0BC
CYRILLIC SMALL LETTER EN.............................. 043D AD DD CE ED ED D0BD
CYRILLIC SMALL LETTER ER.............................. 0440 E0 E0 D2 F0 F0 D180
CYRILLIC SMALL LETTER ES.............................. 0441 E1 E1 D3 F1 F1 D181
CYRILLIC SMALL LETTER GHE............................. 0433 A3 D3 C7 E3 E3 D0B3
CYRILLIC SMALL LETTER GHE WITH UPTURN................. 0491 - - - - B4 D291
CYRILLIC SMALL LETTER GJE............................. 0453 - F3 - AF 83 D193
CYRILLIC SMALL LETTER HA.............................. 0445 E5 E5 C8 F5 F5 D185
CYRILLIC SMALL LETTER HARD SIGN....................... 044A EA EA DF FA FA D18A
CYRILLIC SMALL LETTER I............................... 0438 A8 D8 C9 E8 E8 D0B8
CYRILLIC SMALL LETTER IE.............................. 0435 A5 D5 C5 E5 E5 D0B5
CYRILLIC SMALL LETTER IO.............................. 0451 F1 F1 A3 DE B8 D191
CYRILLIC SMALL LETTER JE.............................. 0458 - F8 - C0 BC D198
CYRILLIC SMALL LETTER KA.............................. 043A AA DA CB EA EA D0BA
CYRILLIC SMALL LETTER KJE............................. 045C - FC - CE 9D D19C
CYRILLIC SMALL LETTER LJE............................. 0459 - F9 - BD 9A D199
CYRILLIC SMALL LETTER NJE............................. 045A - FA - BF 9C D19A
CYRILLIC SMALL LETTER O............................... 043E AE DE CF EE EE D0BE
CYRILLIC SMALL LETTER PE.............................. 043F AF DF D0 EF EF D0BF
CYRILLIC SMALL LETTER SHA............................. 0448 E8 E8 DB F8 F8 D188
CYRILLIC SMALL LETTER SHCHA........................... 0449 E9 E9 DD F9 F9 D189
CYRILLIC SMALL LETTER SHORT I......................... 0439 A9 D9 CA E9 E9 D0B9
CYRILLIC SMALL LETTER SHORT U......................... 045E F7 FE - D9 A2 D19E
CYRILLIC SMALL LETTER SOFT SIGN....................... 044C EC EC D8 FC FC D18C
CYRILLIC SMALL LETTER TE.............................. 0442 E2 E2 D4 F2 F2 D182
CYRILLIC SMALL LETTER TSE............................. 0446 E6 E6 C3 F6 F6 D186
CYRILLIC SMALL LETTER TSHE............................ 045B - FB - CC 9E D19B
CYRILLIC SMALL LETTER U............................... 0443 E3 E3 D5 F3 F3 D183
CYRILLIC SMALL LETTER UKRAINIAN IE.................... 0454 F3 F4 - B9 BA D194
CYRILLIC SMALL LETTER VE.............................. 0432 A2 D2 D7 E2 E2 D0B2
CYRILLIC SMALL LETTER YA.............................. 044F EF EF D1 DF FF D18F
CYRILLIC SMALL LETTER YERU............................ 044B EB EB D9 FB FB D18B
CYRILLIC SMALL LETTER YI.............................. 0457 F5 F7 - BB BF D197
CYRILLIC SMALL LETTER YU.............................. 044E EE EE C0 FE FE D18E
CYRILLIC SMALL LETTER ZE.............................. 0437 A7 D7 DA E7 E7 D0B7
CYRILLIC SMALL LETTER ZHE............................. 0436 A6 D6 D6 E6 E6 D0B6
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Возникает следующая ошибка при выполнении некоторых проектов в VS 2013/2015
Как правильно написать функцию test, чтобы ей в качестве аргумента (либо шаблонного параметра - не важно) можно было передать любую из функций...
Есть коммерческое ПО, при каждом запуске оно подключается к файлу базы данных, файл именуется как uchetatiidb