GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::wstring_convert::from_bytes(3) C++ Standard Libary std::wstring_convert::from_bytes(3)

std::wstring_convert::from_bytes - std::wstring_convert::from_bytes


Defined in header <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)


Performs multibyte to wide conversion, using the codecvt facet supplied at
construction.


1) Converts byte as if it was a string of length 1 to wide_string


2) Converts the null-terminated multibyte character sequence beginning at the
character pointed to by ptr to wide_string


3) Converts the narrow string str to wide_string.


4) Converts the narrow multibyte character sequence [first, last) to wide_string


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


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.


If this wstring_convert object was constructed without a user-supplied wide-error
string, throws std::range_error on conversion failure.

// Run this code


#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::u16string utf16 = std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>{}.from_bytes(utf8.data());
std::cout << "UTF16 conversion produced " << utf16.size() << " code units:\n";
for (char16_t c : utf16)
std::cout << std::hex << std::showbase << c << '\n';


// the UTF-8 / UTF-32 standard conversion facet
std::u32string utf32 = std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t>{}.from_bytes(utf8);
std::cout << "UTF32 conversion produced " << std::dec << utf32.size() << " code units:\n";
for (char32_t c : utf32)
std::cout << std::hex << std::showbase << c << '\n';
}


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


to_bytes converts a wide string into a byte string
(public member function)
mbsrtowcs converts a narrow multibyte character string to wide string, given state
(function)
do_in converts a string from externT to internT, such as when reading from file
[virtual] (virtual protected member function of std::codecvt<InternT,ExternT,State>)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.