Difference between revisions of "UTF-8/ru"
(One intermediate revision by the same user not shown) | |||
Line 72: | Line 72: | ||
|} | |} | ||
− | ==UTF8 | + | ==Функции UTF8== |
===FreePascal=== | ===FreePascal=== | ||
− | + | Модуль system содержит несколько основных функций: | |
* UnicodeToUtf8 | * UnicodeToUtf8 | ||
* Utf8ToUnicode | * Utf8ToUnicode | ||
Line 85: | Line 85: | ||
===Lazarus=== | ===Lazarus=== | ||
− | Lazarus | + | Lazarus также содержит функции UTF8. Подробности см. [[Unicode_Support_in_Lazarus/ru|LCL Unicode Support]] |
− | == | + | ==См. также== |
− | * [[LCL_Unicode_Support#Dealing_with_directory_and_filenames|Dealing with directory and filenames]] - UTF8 | + | * [[LCL_Unicode_Support#Dealing_with_directory_and_filenames|Dealing with directory and filenames]] - UTF8 функции для файлов |
− | * [[LCL_Unicode_Support|LCL Unicode Support]] - UTF8 | + | * [[LCL_Unicode_Support|LCL Unicode Support]] - UTF8 в графических приложениях |
− | * [[Console_Mode_Pascal#Unicode (UTF8) output|Console mode Pascal: Unicode (UTF8) output]] - | + | * [[Console_Mode_Pascal#Unicode (UTF8) output|Console mode Pascal: Unicode (UTF8) output]] - Отображение вывода UTF8 в программах консольного или текстового режима |
* [[UTF8 strings and characters]] | * [[UTF8 strings and characters]] | ||
[[Category:Unicode]] | [[Category:Unicode]] |
Latest revision as of 15:37, 4 September 2019
│
English (en) │
suomi (fi) │
français (fr) │
русский (ru) │
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 |
Функции 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