Is the u8 string literal necessary in C++11 <p>From <a href="http://en.wikipedia.org/wiki/C++11#New_string_literals">Wikipedia</a>:</p> <blockquote> <p>For the purpose of enhancing support for Unicode in C++ compilers, the definition of the type char has been modified to be at least the size necessary to store an eight-bit coding of UTF-8.</p> </blockquote> <p>I'm wondering what exactly this means for writing portable applications. Is there any difference between writing this</p> <pre><code>const char[] str = "Test String"; </code></pre> <p>or this?</p> <pre><code>const char[] str = u8"Test String"; </code></pre> <p>Is there be any reason not to use the latter for every string literal in your code?</p> <p>What happens when there are non-ASCII-Characters inside the TestString?</p>