Sign in Join
Wiki copytemporary

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

OldNewLine
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

Back to history