title: Preparing for char8_t in C++ 17
body: <p>I'm using Microsoft Visual C++ 16.1 (2019 Community) and am trying to write code which will be "proper" in C++ 2020 which is expected to have a char8_t type which will be an unsigned char.  I define a type like this:</p>
  
  <pre><code>using char8_t = unsigned char;
  </code></pre>
  
  <p>Code such as the following:</p>
  
  <pre><code>std:string data;
  const char8_t* ptr = data.c_str ();
  </code></pre>
  
  <p>does not compile as it will not convert the signed char pointer to an unsigned char pointer without a reinterpret_cast.  Is there something I can do to prepare for 2020 without having reinterpret casts all over the place?</p>