UTF-8/ru
English · Français · Suomi · Русский
UTF-8 (8-bit UCS/Unicode Transformation Format, или 8-битный Формат Преобразования UCS/Unicode) - это кодировка символов переменной длины для Unicode. Символы Unicode от U+0000 до U+007F кодируются просто как байты от 00h до 7Fh. Это означает, что файлы и строки, содержащие только 7-битные символы ASCII, имеют одинаковую кодировку как в ASCII, так и в UTF-8.
Все символы > U+007F кодируются как последовательность из нескольких байтов, в каждом из которых установлены два старших значащих бита. Никакая другая последовательность байтов одного символа не содержится в более длинной последовательности байтов другого символа. Это позволяет легко искать подстроки. Первый байт многобайтовой последовательности, который представляет не-ASCII-символ, всегда находится в диапазоне от C0h до FDh, и он указывает, сколько байтов следует за этим символом. Все последующие байты в многобайтовой последовательности находятся в диапазоне от 80h до BFh. Это обеспечивает легкую ресинхронизацию и надежность.
| Code points (Кодовые точки) | 1st byte | 2nd byte | 3rd byte | 4th byte | старшие значащие биты первого байта многобайтовой последовательности | |
|---|---|---|---|---|---|---|
| U+0000..U+007F | 00..7F | 0 | ASCII | |||
| U+0080..U+07FF | C2..DF | 80..BF | 110 | - UTF-8 Latin characters | ||
| U+0800..U+0FFF | E0 | A0..BF | 80..BF | 1110 | ||
| U+1000..U+FFFF | E1..EF | 80..BF | 80..BF | 1110 | - подстрочные и надстрочные символы UTF8 | |
| U+10000..U+3FFFF | F0 | 90..BF | 80..BF | 80..BF | 11110 | |
| U+40000..U+FFFFF | F1..F3 | 80..BF | 80..BF | 80..BF | 11110 | |
| U+100000..U+10FFFF | F4 | 80..BF | 80..BF | 80..BF | 11110 |
UTF-8 byte Sequences
Функции UTF8
FreePascal
Модуль system содержит несколько основных функций:
- UnicodeToUtf8
- Utf8ToUnicode
- UTF8Encode
- UTF8Decode
- AnsiToUtf8
- Utf8ToAnsi
Lazarus
Lazarus также содержит функции UTF8. Подробности см. LCL Unicode Support
См. также
- Dealing with directory and filenames - UTF8 функции для файлов
- LCL Unicode Support - UTF8 в графических приложениях
- Console mode Pascal: Unicode (UTF8) output - Отображение вывода UTF8 в программах консольного или текстового режима
- UTF8 strings and characters
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.