Memory mapped strange result

 

Hi guys , i created a memory mapped  file in C#  this is a  coded

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO.MemoryMappedFiles;
using System.ComponentModel;
using System.Windows.Input;
using System.IO;

namespace MemoryMappedCS_1
{
    class Program
    {
        static void Main(string[] args)
        {
            var file = MemoryMappedFile.CreateOrOpen("Test", 1000,MemoryMappedFileAccess.ReadWrite);
            try
            {    
                byte[] de = Encoding.ASCII.GetBytes("Demade");
                MemoryMappedViewAccessor accessor = file.CreateViewAccessor();
                accessor.Write(0, (char)de.Length);
                accessor.WriteArray(0,de,0,de.Length);
             }
            catch
            {
            }
                Console.WriteLine("Run memory mapped file reader before exit");
                Console.WriteLine("Press any key to exit ...");
                Console.ReadLine();
        }
    }
}

in MT4  in mql4  i have created this script

//+------------------------------------------------------------------+
//|                                           Standard Deviation.mq4 |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"

#property indicator_separate_window
#property indicator_minimum 0
#property indicator_buffers 1
#property indicator_color1 Blue
#define FILE_MAP_READ           4

#define BUF_SIZE 1000
extern string szName = "Test";
int handle = 0;
string  Data;

#import "kernel32.dll"
string  MapViewOfFile(int hFileMappingObject, int dwDesiredAccess, int dwFileOffsetHigh, int dwFileOffsetLow, int dwNumberOfBytestoMap);
int CloseHandle(int handle);
int UnmapViewOfFile(string lpBaseAddress);
int OpenFileMappingW(uint dwDesiredAccess, bool bInheritHandle, string lpName);
#import

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   handle = OpenFileMappingW(FILE_MAP_READ, False, szName);
   if(handle == 0)
     {
      Print("Could not open file mapping object", GetLastError());
     }
   else
     {
      Data = MapViewOfFile(handle, FILE_MAP_READ, 0, 0, BUF_SIZE);
      Print ("DA C++VA DA C# NOOO"+Data);
      UnmapViewOfFile(Data);
      CloseHandle(handle);
     }

   return (0);
  }



//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Standard Deviation                                               |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+


the  script  work and  exchange a data  , but  return me  ?????  , i  thinked  ,probably is  encoding problem  but , C# encode in ASCII , therefore , i dont understund where is a problem , anyone  can help me ??

thankz at all

Reason: