Пространства имён
Варианты
Действия

std::wstring_convert::to_bytes

Материал из cppreference.com

 
 
Локализация
Локализации и фасеты
locale
Классификация символов
Преобразования
Базовые классы фасетов
Категории фасетов
Зависящие от локализации категории фасетов
Не зависящие от локализации фасеты преобразования unicode
codecvt_utf8(C++11)
codecvt_utf16(C++11)
Локализации С
 
std::wstring_convert
Член функций
Оригинал:
Member functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
wstring_convert::wstring_convert
wstring_convert::~wstring_convert
wstring_convert::from_bytes
wstring_convert::to_bytes
wstring_convert::converted
wstring_convert::state
 
Определено в заголовочном файле <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 функция-член) [edit]
Преобразует строку широких к узким многобайтовой строки символов, данное состояние
Оригинал:
converts a wide string to narrow multibyte character string, given state
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [edit]
[virtual]
преобразует строку из internT в externT, например, при записи в файл
Оригинал:
converts a string from internT to externT, such as when writing to file
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(virtual protected std::codecvt функция-член) [edit]