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

std::wstring_convert::from_bytes

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

 
 
Локализация
Локализации и фасеты
locale
Классификация символов
Преобразования
Базовые классы фасетов
Категории фасетов
Зависящие от локализации категории фасетов
Не зависящие от локализации фасеты преобразования unicode
codecvt_utf8(C++11)
codecvt_utf16(C++11)
Локализации С
 
std::wstring_convert
Член функций
Оригинал:
Member functions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
wstring_convert::wstring_convert
wstring_convert::~wstring_convert
wstring_convert::from_bytes
wstring_convert::to_bytes
wstring_convert::converted
wstring_convert::state
 
Определено в заголовочном файле <locale>
wide_string from_bytes( char byte );
(1)
wide_string from_bytes( const char* ptr );
(2)
wide_string from_bytes( const byte_string& str );
(3)
wide_string from_bytes( const char* first, const char* last);
(4)
Выполняет многобайтовых широкого преобразования, используя codecvt грань поставляется на строительство.
Оригинал:
Performs multibyte to wide conversion, using the codecvt facet supplied at construction.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
1)
Преобразует byte, как если бы это была строка длиной 1 в wide_string
Оригинал:
Converts byte as if it was a string of length 1 to wide_string
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
2)
Преобразует нулем многобайтовую последовательность символов, начиная с символа, на который указывает ptr в wide_string
Оригинал:
Converts the null-terminated multibyte character sequence beginning at the character pointed to by ptr to wide_string
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
3)
Преобразует узкие str строку wide_string.
Оригинал:
Converts the narrow string str to wide_string.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
4)
Преобразует узкие многобайтовую последовательность символов [first, last) в wide_string
Оригинал:
Converts the narrow multibyte character sequence [first, last) to wide_string
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Во всех случаях, превращение начинается в начальном состоянии сдвига, если непервых исходном состоянии была предоставлена ​​эта 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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

[править] Возвращаемое значение

wide_string объект, содержащий результаты многобайтовых широкого преобразования. Если преобразование не удалось, и было поставляемого пользователем широкого строку ошибки при условии, конструктору этому wstring_convert, возвращается, что широкий строку ошибки.
Оригинал:
A wide_string object containing the results of multibyte to wide conversion. If the conversion failed and there was a user-supplied wide-error string provided to the constructor of this wstring_convert, returns that wide-error string.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Исключения

Если это wstring_convert объект был построен без поставляемого пользователем широкого строку ошибки, бросает std::range_error в случае ошибки преобразования.
Оригинал:
If this wstring_convert object was constructed without a user-supplied wide-error string, throws std::range_error on conversion failure.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Пример

#include <iostream>
#include <string>
#include <locale>
#include <codecvt>
int main()
{
    std::string utf8 =  u8"z\u00df\u6c34\U0001d10b"; // or u8"zß水𝄋"
                        // or "\x7a\xc3\x9f\xe6\xb0\xb4\xf0\x9d\x84\x8b";
 
    // the UTF-8 / UTF-16 standard conversion facet
    std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> utf16conv;
    std::u16string utf16 = utf16conv.from_bytes(utf8.data());
    std::cout << "UTF16 conversion produced " << utf16.size() << " code points:\n";
    for(char16_t c : utf16)
        std::cout << std::hex << std::showbase << c << '\n';
 
    // the UTF-8 / UTF-32 standard conversion facet
    std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t> utf32conv;
    std::u32string utf32 = utf32conv.from_bytes(utf8);
    std::cout << "UTF32 conversion produced " << std::dec << utf32.size() << " code points:\n";
    for(char32_t c : utf32)
        std::cout << std::hex << std::showbase << c << '\n';
}

Вывод:

UTF16 conversion produced 5 code points:
0x7a
0xdf
0x6c34
0xd834
0xdd0b
UTF32 conversion produced 4 code points:
0x7a
0xdf
0x6c34
0x1d10b

[править] См. также

преобразует широкий строки в строку байтов
Оригинал:
converts a wide string into a byte string
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
преобразует узкой буквенная многобайтовых широкой строки, данное состояние
Оригинал:
converts a narrow multibyte character string to wide string, given state
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

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

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