Difference between revisions of "UTF-8/ru"

From Free Pascal wiki
Jump to navigationJump to search
 
(One intermediate revision by the same user not shown)
Line 72: Line 72:
 
|}
 
|}
  
==UTF8 functions==
+
==Функции UTF8==
  
 
===FreePascal===
 
===FreePascal===
The system unit contains some basic functions:
+
Модуль system содержит несколько основных функций:
 
* UnicodeToUtf8
 
* UnicodeToUtf8
 
* Utf8ToUnicode
 
* Utf8ToUnicode
Line 85: Line 85:
  
 
===Lazarus===
 
===Lazarus===
Lazarus also contains UTF8 functions. For more details see [[LCL Unicode Support]]
+
Lazarus также содержит функции UTF8. Подробности см. [[Unicode_Support_in_Lazarus/ru|LCL Unicode Support]]
  
==See also==
+
==См. также==
  
* [[LCL_Unicode_Support#Dealing_with_directory_and_filenames|Dealing with directory and filenames]] - UTF8 functions for files
+
* [[LCL_Unicode_Support#Dealing_with_directory_and_filenames|Dealing with directory and filenames]] - UTF8 функции для файлов
* [[LCL_Unicode_Support|LCL Unicode Support]] - UTF8 in graphical applications
+
* [[LCL_Unicode_Support|LCL Unicode Support]] - UTF8 в графических приложениях
* [[Console_Mode_Pascal#Unicode (UTF8) output|Console mode Pascal: Unicode (UTF8) output]] - Showing UTF8 output in console mode/text mode programs
+
* [[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. Это обеспечивает легкую ресинхронизацию и надежность.

UTF-8 byte Sequences
  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

См. также