Acessando strings unicode do MATLAB a partir de C

Como posso acessar os dados unicode subjacentes das strings do MATLAB por meio das interfaces MATLAB Engine ou MEX C?

Aqui está um exemplo. Vamos colocar caracteres unicode em um arquivo test.txt codificado em UTF-8, e depois ler como

fid=fopen('test.txt','r','l','UTF-8');
s=fscanf(fid, '%s')

em MATLAB.

Agora, se eu fizer primeirofeature('DefaultCharacterSet', 'UTF-8'), então de CengEvalString(ep, "s"), então, como saída, recebo o texto do arquivo como UTF-8. Isso prova que o MATLAB o armazena como unicode internamente. No entanto, se eu fizermxArrayToString(engGetVariable(ep, "s")), Eu entendo o queunicode2native(s, 'Latin-1') me daria no MATLAB: todos os caracteres não-Latin-1 substituídos pelo código de caractere 26. O que eu preciso é obter acesso aos dados unicode subjacentes como uma string C em qualquer formato unicode (UTF-8, UTF-16, etc.) e preservando os caracteres não-Latin-1.Isso é possível?

Minha plataforma é o OS X, MATLAB R2012b.

Adenda: Odocumentação declara explicitamente que "[mxArrayToString ()] suporta caracteres codificados multibyte", mas ainda assim me fornece apenas uma aproximação de Latin-1 para os dados originais.

questionAnswers(1)

yourAnswerToTheQuestion