UTF-8/ru: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: UTF-8/ru
| Old | New | Line | |
|---|---|---|---|
| 1 | + | UTF-8 (8-bit UCS/Unicode Transformation Format, или 8-битный Формат Преобразования UCS/Unicode) - это кодировка символов переменной длины для Unicode. Символы Unicode от U+0000 до U+007F кодируются просто как байты от 00h до 7Fh. Это означает, что файлы и строки, содержащие только 7-битные символы [[ASCII/ru|ASCII]], имеют одинаковую кодировку как в ASCII, так и в UTF-8. | |
| 2 | + | ||
| 3 | + | Все символы \> U+007F кодируются как последовательность из нескольких байтов, в каждом из которых установлены два старших значащих бита. Никакая другая последовательность байтов одного символа не содержится в более длинной последовательности байтов другого символа. Это позволяет легко искать подстроки. Первый байт многобайтовой последовательности, который представляет не-ASCII-символ, всегда находится в диапазоне от C0h до FDh, и он указывает, сколько байтов следует за этим символом. Все последующие байты в многобайтовой последовательности находятся в диапазоне от 80h до BFh. Это обеспечивает легкую ресинхронизацию и надежность. | |
| 4 | + | ||
| 5 | + | | Code points (Кодовые точки) | 1st byte | 2nd byte | 3rd byte | 4th byte | старшие значащие биты первого байта многобайтовой последовательности | | | |
| 6 | + | |----|----|----|----|----|----|----| | |
| 7 | + | | U+0000..U+007F | 00..7F | | | | 0 | [[ASCII]] | | |
| 8 | + | | U+0080..U+07FF | C2..DF | 80..BF | | | 110 | - [[UTF-8 Latin characters]] | | |
| 9 | + | | U+0800..U+0FFF | E0 | A0..BF | 80..BF | | 1110 | | | |
| 10 | + | | U+1000..U+FFFF | E1..EF | 80..BF | 80..BF | | 1110 | - [[UTF-8 subscripts and superscripts|подстрочные и надстрочные символы UTF8]] | | |
| 11 | + | | U+10000..U+3FFFF | F0 | 90..BF | 80..BF | 80..BF | 11110 | | | |
| 12 | + | | U+40000..U+FFFFF | F1..F3 | 80..BF | 80..BF | 80..BF | 11110 | | | |
| 13 | + | | U+100000..U+10FFFF | F4 | 80..BF | 80..BF | 80..BF | 11110 | | | |
| 14 | + | ||
| 15 | + | UTF-8 byte Sequences | |
| 16 | + | ||
| 17 | + | ## Функции UTF8 | |
| 18 | + | ||
| 19 | + | ### FreePascal | |
| 20 | + | ||
| 21 | + | Модуль system содержит несколько основных функций: | |
| 22 | + | ||
| 23 | + | - UnicodeToUtf8 | |
| 24 | + | - Utf8ToUnicode | |
| 25 | + | - UTF8Encode | |
| 26 | + | - UTF8Decode | |
| 27 | + | - AnsiToUtf8 | |
| 28 | + | - Utf8ToAnsi | |
| 29 | + | ||
| 30 | + | ### Lazarus | |
| 31 | + | ||
| 32 | + | Lazarus также содержит функции UTF8. Подробности см. [[Unicode Support in Lazarus/ru|LCL Unicode Support]] | |
| 33 | + | ||
| 34 | + | ## См. также | |
| 35 | + | ||
| 36 | + | - [[LCL Unicode Support|Dealing with directory and filenames]] - UTF8 функции для файлов | |
| 37 | + | - [[LCL Unicode Support]] - UTF8 в графических приложениях | |
| 38 | + | - [[Console Mode Pascal|Console mode Pascal: Unicode (UTF8) output]] - Отображение вывода UTF8 в программах консольного или текстового режима | |
| 39 | + | - [[UTF8 strings and characters]] | |
| 40 | + | ||
| 41 | + | --- | |
| 42 | + | *From the Free Pascal wiki, page "UTF-8/ru", as it stood on 2019-09-04 after a change by Zoltanleo, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* | |
| 43 | + | Category: Unicode |
