Null-terminated multibyte strings
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
Нулем многобайтовую строку (NTMBS), или "многобайтовую строку", представляет собой последовательность ненулевых байт за которым следует байт с нулевым значением (пустой символ завершения).
Оригинал:
A null-terminated multibyte string (NTMBS), or "multibyte string", is a sequence of nonzero bytes followed by a byte with value zero (the terminating null character).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Каждый символ хранится в строке может занимать более одного байта. Кодировка, используемая для представления символов в строку многобайтовых символов является локалей: это может быть UTF-8, GB18030, EUC-JP, Shift-JIS и др. Например, массив символов {'\xe4','\xbd','\xa0','\xe5','\xa5','\xbd','\0'} является NTMBS проведения строку "你好" В UTF-8 кодировок: первые три байта кодирования символов 你, следующие три байта кодирования символов 好. То же строку, закодированную в GB18030 это символ {'\xc4', '\xe3', '\xba', '\xc3', '\0' массива}, где каждое из двух символов кодируется как два байта последовательности.
Оригинал:
Each character stored in the string may occupy more than one byte. The encoding used to represent characters in a multibyte character string is locale-specific: it may be UTF-8, GB18030, EUC-JP, Shift-JIS, etc. For example, the char array {'\xe4','\xbd','\xa0','\xe5','\xa5','\xbd','\0'} is an NTMBS holding the string "你好" in UTF-8 multibyte encoding: the first three bytes encode the character 你, the next three bytes encode the character 好. The same string encoded in GB18030 is the char array {'\xc4', '\xe3', '\xba', '\xc3', '\0'}, where each of the two characters is encoded as a two-byte sequence.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
В некоторых многобайтовых кодировок, любой заданной последовательности многобайтовые характера могут представлять различные символы в зависимости от предыдущей последовательности байтов, известный как "сдвиг последовательности". Такие кодировки называются зависящих от состояния: знания о текущем состоянии смены обязан толковать каждый символ. NTMBS действительна только если оно начинается и заканчивается в начальном состоянии сдвига: если сдвиг последовательности была использована, соответствующая последовательность Отменить замену должен присутствовать перед завершающий нулевой символ. Примеры такой кодировки BOCU-1 и ГТСУ.
Оригинал:
In some multibyte encodings, any given multibyte character sequence may represent different characters depending on the previous byte sequences, known as "shift sequences". Such encodings are known as state-dependent: knowledge of the current shift state is required to interpret each character. An NTMBS is only valid if it begins and ends in the initial shift state: if a shift sequence was used, the corresponding unshift sequence has to be present before the terminating null character. Examples of such encodings are BOCU-1 and SCSU.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Многобайтовой строки символов является макет совместим с нулевым байтом строки (НТБ), которые могут быть сохранены, скопированы и изучены с помощью того же средства, за исключением подсчета количества символов. Если правильный язык, по сути, функции ввода / вывода и обработки многобайтовых строк. Multibyte строки могут быть преобразованы в и из широких строк с использованием codecvt функции-члены, wstring_convert, или на следующий локали-зависимых функций преобразования:
Оригинал:
A multibyte character string is layout-compatible with null-terminated byte string (NTBS), that is, can be stored, copied, and examined using the same facilities, except for calculating the number of characters. If the correct locale is in effect, I/O functions also handle multibyte strings. Multibyte strings can be converted to and from wide strings using the codecvt member functions, wstring_convert, or the following locale-dependent conversion functions:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Многобайтовых / широкий преобразования характера
| Заголовочный файл
<stdlib.h> | |
| возвращает количество байтов в следующий символ многобайтовых Оригинал: returns the number of bytes in the next multibyte character Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| преобразует следующий символ многобайтовых широкого характера Оригинал: converts the next multibyte character to wide character Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| преобразует широкий символ в своем многобайтовых представление Оригинал: converts a wide character to its multibyte representation Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| преобразует узкой буквенная многобайтовых широкой строки Оригинал: converts a narrow multibyte character string to wide string Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| Преобразует строку широких, чтобы сузить многобайтовой строки символов Оригинал: converts a wide string to narrow multibyte character string Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| Заголовочный файл
<wchar.h> | |
| проверяет, является ли mbstate_t объект представляет начальное состояние смену Оригинал: checks if the mbstate_t object represents initial shift state Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| расширяется однобайтовые узкий характер широкого характера, если это возможно Оригинал: widens a single-byte narrow character to wide character, if possible Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| сужает широкий характер однобайтовые узкий характер, если это возможно Оригинал: narrows a wide character to a single-byte narrow character, if possible Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| возвращает количество байтов в следующем многобайтового символа, данное состояние Оригинал: returns the number of bytes in the next multibyte character, given state Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| преобразует следующий символ многобайтовых широкого характера, данное состояние Оригинал: converts the next multibyte character to wide character, given state Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| преобразует широкий символ в своем многобайтовых представление, данное состояние Оригинал: converts a wide character to its multibyte representation, given state Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| преобразует узкой буквенная многобайтовых широкой строки, данное состояние Оригинал: converts a narrow multibyte character string to wide string, given state Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| Преобразует строку широких к узким многобайтовой строки символов, данное состояние Оригинал: converts a wide string to narrow multibyte character string, given state Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| Заголовочный файл
<uchar.h> | |
| (C11) |
генерации следующего 16-битный символ из узких строку многобайтовых Оригинал: generate the next 16-bit wide character from a narrow multibyte string Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
| (C11) |
Преобразование 16-битного широкий характер, чтобы сузить многобайтовую строку Оригинал: convert a 16-bit wide character to narrow multibyte string Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
| (C11) |
генерации следующего 32-битный символ из узких строку многобайтовых Оригинал: generate the next 32-bit wide character from a narrow multibyte string Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
| (C11) |
Преобразование 32-битного широкий характер, чтобы сузить многобайтовую строку Оригинал: convert a 32-bit wide character to narrow multibyte string Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
[править] Типы
| Заголовочный файл
<wchar.h> | |
| Преобразование информации о состоянии необходимой для перебора многобайтовые строки символов Оригинал: conversion state information necessary to iterate multibyte character strings Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (класс) | |
| Заголовочный файл
<uchar.h> | |
| (C11) |
16-битный тип характера Оригинал: 16-bit character type Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (определение типа) |
| (C11) |
32-разрядный тип характера Оригинал: 32-bit character type Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (определение типа) |
[править] Макросы
| Заголовочный файл
<limits.h> | |
| MB_LEN_MAX |
Максимальное число байтов в многобайтовых символов Оригинал: maximum number of bytes in a multibyte character Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (константа-макрос) |
| Заголовочный файл
<stdlib.h> | |
| MB_CUR_MAX |
Максимальное число байтов в многобайтовых символов в текущем C locale
(макропеременной) Оригинал: maximum number of bytes in a multibyte character in the current C locale (макропеременной) Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| Заголовочный файл
<uchar.h> | |
| __STDC_UTF_16__ (C11) |
указывает, что UTF-16 используется кодировка по mbrtoc16 и c16rtomb Оригинал: Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (константа-макрос) |
| __STDC_UTF_32__ (C11) |
указывает, что UTF-32 используется кодировка по mbrtoc32 и c32rtomb} Оригинал: Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (константа-макрос) |

