std::wstring_convert::to_bytes
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody>| Определено в заголовочном файле <locale>
|
||
byte_string to_bytes( Elem wchar ); |
(1) | |
byte_string to_bytes( const Elem* wptr ); |
(2) | |
byte_string to_bytes( const wide_string& wstr ); |
(3) | |
byte_string to_bytes( const Elem* first, const Elem* last); |
(4) | |
Выполняет широкий в многобайтовые преобразования, используя
codecvt грань поставляется на строительство.Оригинал:
Performs wide to multibyte conversion, using the
codecvt facet supplied at construction.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
1)
Преобразует
wchar, как если бы это была строка длиной 1, чтобы byte_stringОригинал:
Converts
wchar as if it was a string of length 1, to byte_stringТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Преобразует нулем широкий начале последовательности символов в широких символов, на которую указывает
wptr, чтобы byte_stringОригинал:
Converts the null-terminated wide character sequence beginning at the wide character pointed to by
wptr, to byte_stringТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
3)
Преобразует широкий
str строку byte_string.Оригинал:
Converts the wide string
str to byte_string.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
4)
Преобразует широкий
[first, last) последовательность символов для byte_stringОригинал:
Converts the wide character sequence
[first, last) to byte_stringТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Во всех случаях, превращение начинается в начальном состоянии сдвига, если непервых исходном состоянии была предоставлена эта
wstring_convert конструктор. Количество символов преобразуется и окончательное значение преобразования состояния запоминаются и могут быть доступны с state() и converted()Оригинал:
In all cases, the conversion begins in initial shift state, unless non-initial starting state was provided to this
wstring_convert constructor. The number of characters converted and the final value of the conversion state are remembered and can be accessed with state() and converted()Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Возвращаемое значение
byte_string объект, содержащий результаты широко в многобайтовые преобразования. Если преобразование не удалось, и был пользователем байт строку ошибки при условии, конструктору этому wstring_convert, что возвращает байт строки ошибки.Оригинал:
A
byte_string object containing the results of the wide to multibyte conversion. If the conversion failed and there was a user-supplied byte-error string provided to the constructor of this wstring_convert, returns that byte-error string.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Исключения
Если это
wstring_convert объект был построен без пользователем байт строки ошибки, бросает std::range_error в случае ошибки преобразования.Оригинал:
If this
wstring_convert object was constructed without a user-supplied byte-error string, throws std::range_error on conversion failure.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Пример
Запустить этот код
#include <iostream>
#include <string>
#include <locale>
#include <codecvt>
#include <iomanip>
// utility function for output
void hex_print(const std::string& s)
{
std::cout << std::hex << std::setfill('0');
for(unsigned char c : s)
std::cout << std::setw(2) << static_cast<int>(c) << ' ';
std::cout << std::dec << '\n';
}
int main()
{
// wide character data
std::wstring wstr = L"z\u00df\u6c34\U0001d10b"; // or L"zß水𝄋"
// wide to UTF-8
std::wstring_convert<std::codecvt_utf8<wchar_t>> conv1;
std::string u8str = conv1.to_bytes(wstr);
std::cout << "UTF-8 conversion produced " << u8str.size() << " bytes:\n";
hex_print(u8str);
// wide to UTF-16le
std::wstring_convert<std::codecvt_utf16<wchar_t, 0x10ffff, std::little_endian>> conv2;
std::string u16str = conv2.to_bytes(wstr);
std::cout << "UTF-16le conversion produced " << u16str.size() << " bytes:\n";
hex_print(u16str);
}
Вывод:
UTF-8 conversion produced 10 bytes:
7a c3 9f e6 b0 b4 f0 9d 84 8b
UTF-16le conversion produced 10 bytes:
7a 00 df 00 34 6c 34 d8 0b dd
См. также
преобразует байт строки в строку широких Оригинал: converts a byte string into a wide string Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
| преобразует широкую строку в узкую многобайтовую строку символов при заданном состоянии (функция) | |
[virtual] |
преобразует строку из internT в externT, например, при записи в файл Оригинал: converts a string from internT to externT, such as when writing to file Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (virtual protected std::codecvt функция-элемент)
|