public static IntPtr ToHalconHGlobalEncoding(string dotnet) { if (!HalconAPI.IsUTF8Encoding()) { return(Marshal.StringToHGlobalAnsi(dotnet)); } return(HalconAPI.ToHGlobalUtf8Encoding(dotnet)); }
public static string FromHalconEncoding(IntPtr halcon) { if (!HalconAPI.IsUTF8Encoding()) { return(Marshal.PtrToStringAnsi(halcon)); } int ofs = 0; while (Marshal.ReadByte(halcon, ofs) != (byte)0) { ++ofs; } byte[] numArray = new byte[ofs]; Marshal.Copy(halcon, numArray, 0, numArray.Length); return(Encoding.UTF8.GetString(numArray)); }