title: Is a wide character string literal starting with L like L"Hello World" guaranteed to be encoded in Unicode?
body: <p>I've recently tried to get the full picture about what steps it takes to create platform independent C++ applications that support unicode. A thing that is confusing to me is that most howtos and stuff equalize the character encoding (i.e. ANSI or Unicode) and the character type (char or wchar_t). As I've learned so far, these are different things and there may exist a character sequence encodeded in Unicode but represented by std::string as well as a character sequence encoded in ANSI but represented as std::wstring, right? </p>
  
  <p>So the question that comes to my mind is whether the C++ standard gives any guarantee about the encoding of string literals starting with <code>L</code> or does it just say it's of type wchar_t with implementation specific character encoding? </p>
  
  <p>If there is no such guaranty, does that mean I need some sort of external resource system to provide non ASCII string literals for my application in a platform independent way? 
  What is the prefered way for this? Resource system or proper encoding of source files plus proper compiler options?</p>