Difference between revisions of "UTF-8/ru"
(Created page with "{{UTF-8}} UTF-8 (8-bit UCS/Unicode Transformation Format) is a variable-length character encoding for Unicode. Unicode characters U+0000 to U+007F are encoded simply as bytes...") |
|||
Line 1: | Line 1: | ||
{{UTF-8}} | {{UTF-8}} | ||
− | UTF-8 (8-bit UCS/Unicode | + | UTF-8 (8-bit <b>U</b>CS/Unicode <b>T</b>ransformation <b>F</b>ormat, или <i>8-битный Формат Преобразования UCS/Unicode</i>) - это кодировка символов переменной длины для Unicode. Символы Unicode от U+0000 до U+007F кодируются просто как байты от 00h до 7Fh. Это означает, что файлы и строки, содержащие только 7-битные символы [[ASCII/ru|ASCII]], имеют одинаковую кодировку как в ASCII, так и в UTF-8. |
− | |||
− | |||
+ | Все символы > U+007F кодируются как последовательность из нескольких байтов, в каждом из которых установлены два старших значащих бита. Никакая другая последовательность байтов одного символа не содержится в более длинной последовательности байтов другого символа. Это позволяет легко искать подстроки. Первый байт многобайтовой последовательности, который представляет не-ASCII-символ, всегда находится в диапазоне от C0h до FDh, и он указывает, сколько байтов следует за этим символом. Все последующие байты в многобайтовой последовательности находятся в диапазоне от 80h до BFh. Это обеспечивает легкую ресинхронизацию и надежность. | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ UTF-8 byte Sequences | |+ UTF-8 byte Sequences | ||
− | ! Code points | + | ! Code points (Кодовые точки) |
!1st byte | !1st byte | ||
!2nd byte | !2nd byte | ||
!3rd byte | !3rd byte | ||
!4th byte | !4th byte | ||
− | ! | + | !старшие значащие биты первого байта многобайтовой последовательности |
! | ! | ||
|- | |- | ||
Line 46: | Line 45: | ||
| | | | ||
| 1110 | | 1110 | ||
− | | - [[UTF-8_subscripts_and_superscripts]] | + | | - [[UTF-8_subscripts_and_superscripts|подстрочные и надстрочные символы UTF8]] |
|- | |- | ||
| U+10000..U+3FFFF | | U+10000..U+3FFFF |
Revision as of 16:28, 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 functions
FreePascal
The system unit contains some basic functions:
- UnicodeToUtf8
- Utf8ToUnicode
- UTF8Encode
- UTF8Decode
- AnsiToUtf8
- Utf8ToAnsi
Lazarus
Lazarus also contains UTF8 functions. For more details see LCL Unicode Support
See also
- Dealing with directory and filenames - UTF8 functions for files
- LCL Unicode Support - UTF8 in graphical applications
- Console mode Pascal: Unicode (UTF8) output - Showing UTF8 output in console mode/text mode programs
- UTF8 strings and characters