[Mono-dev] Marshalling of strings
chris at chrisseaton.com
Tue Sep 20 19:16:09 EDT 2005
Hows marshalling of strings to native functions work in Mono and .NET in
I can set the character set when creating a pinvoke, but only to ANSI or
What does ANSI mean? I thought ANSI was a family of character sets?
What does Unicode mean exactly? UTF-16? UTF-32? What about endianess?
If I write a native function that uses UTF-8, I should set the CharSet
to be Unicode, but then how does it know that it's UTF-8 and not
anything else? Does it sniff the bytes?
What if my function uses UTF-7? I mean that's still Unicode but I bet
Mono isn't expecting my function to return it.
What if my strings aren't null terminated? They're still Unicode if
they're not null terminated.
Can someone tell me explicitly what character encodings should be used
to do pinvoke?
More information about the Mono-devel-list