System.Runtime.InteropServices.CharSet enum specifies the character set with which strings are marshalled and is used by the System.Runtime.InteropServices.DllImportAttribute and System.Runtime.InteropServices.StructLayoutAttribute Ansi | 2 | Multiple-byte character strings: the system default Windows (ANSI) code page on Windows, and UTF-8 on Unix. |
Auto | 4 | Marshal strings accoring to the target OS, languages may override this default: C# and Visual basic will use Ansi |
None | 1 | Obsolete, now same as Ansi |
Unicode | 3 | 2-byte characters |