<div dir="ltr"><div>For the most part, VTK strings are in the local 8-bit encoding, whatever that happens to be.  On Linux and Mac, the local 8-bit encoding is pretty much guaranteed to be utf-8.  On Windows, if you're in North America or western Europe, its latin1 or more precisely Windows-1252.</div><div><br></div><div>The reason this is so is that the IO classes (readers, writers, etc) simply use 8-bit strings filenames etc. when calling system IO functions.  VTK uses ifstream(const char *fname, ...) and let's the system decide how "fname" is encoded.  But this is not consistent across all of the readers, since some readers use third-party libraries to handle the IO and then you're at the mercy of whatever encoding that third-party library uses.</div><div><br></div><div>On the display side of things (e.g. when using the VTK text mapper classes, I believe that VTK actually does use utf-8, but I haven't experimented to be sure that all the VTK display classes work the same.</div><div><br></div><div>In other words, strings are a bit of a mess in VTK unless you're willing to be satisfied with ASCII.</div><div><br></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">The vtkUnicodeString is UCS-4 (32-bit code points).</div></div><div><br></div> - David<div><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 10, 2018 at 5:35 PM, Todd via vtk-developers <span dir="ltr"><<a href="mailto:vtk-developers@vtk.org" target="_blank">vtk-developers@vtk.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Can someone please tell me the default/expected encoding for a std::string in VTK. I'm assuming it is UTF8. Therefore I expect vtkUnicodeString (a terrible name) is encoded as UTF16. Is that correct?</div></blockquote></div><br></div></div></div>