[vtkusers] vtkUnicodeString::from_utf8(): not a valid UTF-8 string.
David Gobbi
david.gobbi at gmail.com
Wed Aug 19 09:30:56 EDT 2015
Hi Jose,
I have a function that efficiently converts latin1 to utf-8 (it's part of
my DICOM code):
std::string convertLatin1ToUTF8(const char *text)
{
// latin1, codepage is identity
const char *cp = text;
size_t m = l;
// compute the size of the UTF-8 string
for (size_t n = 0; n < l; n++)
{
m += static_cast<unsigned char>(*cp++) >> 7;
}
cp = text;
std::string s;
s.resize(m);
// encode as UTF-8
size_t i = 0;
while (i < m)
{
while (i < m && (*cp & 0x80) == 0)
{
s[i++] = *cp++;
}
if (i < m)
{
int code = static_cast<unsigned char>(*cp++);
s[i++] = (0xC0 | (code >> 6));
s[i++] = (0x80 | (code & 0x3F));
}
}
return s;
}
On Wed, Aug 19, 2015 at 7:18 AM, Jose Barreto <jose.de.paula at live.com>
wrote:
> Thank you David,
> It works here.
> I'm leaving two methods in a file if someone needs to use too.
> A String ^ converts to char * and other formats for UTF-8.
>
> maniputação_String_VTK.txt
> <
> http://vtk.1045678.n5.nabble.com/file/n5733560/maniputa%C3%A7%C3%A3o_String_VTK.txt
> >
>
>
>
> --
> View this message in context:
> http://vtk.1045678.n5.nabble.com/vtkUnicodeString-from-utf8-not-a-valid-UTF-8-string-tp5733543p5733560.html
> Sent from the VTK - Users mailing list archive at Nabble.com.
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Search the list archives at: http://markmail.org/search/?q=vtkusers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtkusers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150819/57fe998c/attachment.html>
More information about the vtkusers
mailing list