Difference between revisions of "UTF-8/ru"

From Free Pascal wiki
Jump to navigationJump to search
(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 Transformation Format) is a variable-length character encoding for Unicode. Unicode characters U+0000 to U+007F are encoded simply as bytes 00h to 7Fh. This means that files and strings which contain only 7-bit [[ASCII]] characters have the same encoding under both ASCII and UTF-8.
+
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.
 
 
All characters > U+007F are encoded as a sequence of several bytes, each of which has the two most significant bits set. No byte sequence of one character is contained within a longer byte sequence of another character. This allows easy search for substrings. The first byte of a multibyte sequence that represents a non-ASCII character is always in the range C0h to FDh and it indicates how many bytes follow for this character. All further bytes in a multibyte sequence are in the range 80h to BFh. This allows easy resynchronization and robustness.
 
  
 +
Все символы > U+007F кодируются как последовательность из нескольких байтов, в каждом из которых установлены два старших значащих бита. Никакая другая последовательность байтов одного символа не содержится в более длинной последовательности байтов другого символа. Это позволяет легко искать подстроки. Первый байт многобайтовой последовательности, который представляет не-ASCII-символ, всегда находится в диапазоне от C0h до FDh, и он указывает, сколько байтов следует за этим символом. Все последующие байты в многобайтовой последовательности находятся в диапазоне от 80h до BFh. Это обеспечивает легкую ресинхронизацию и надежность.
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|+ UTF-8 byte Sequences
 
|+ UTF-8 byte Sequences
! &nbsp; Code points
+
! &nbsp; Code points (Кодовые точки)
 
!1st byte
 
!1st byte
 
!2nd byte
 
!2nd byte
 
!3rd byte
 
!3rd byte
 
!4th byte
 
!4th byte
!most significant bits of the first byte of a multi-byte sequence
+
!старшие значащие биты первого байта многобайтовой последовательности
 
!
 
!
 
|-
 
|-
Line 46: Line 45:
 
|  
 
|  
 
| &nbsp; 1110
 
| &nbsp; 1110
| &nbsp; - [[UTF-8_subscripts_and_superscripts]]
+
| &nbsp; - [[UTF-8_subscripts_and_superscripts|подстрочные и надстрочные символы UTF8]]
 
|-
 
|-
 
| &nbsp; U+10000..U+3FFFF
 
| &nbsp; 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. Это обеспечивает легкую ресинхронизацию и надежность.

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 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