Ich habe drei Zeichen (größer als 127) und ich muss es in einer Binärdatei schreiben.
Aus irgendeinem Grund neigt MATLAB und PHP/Python dazu, unterschiedliche Zeichen zu schreiben.
Für Python, ich habe:Char (nicht ASCII) in Matlab
s = chr(143)+chr(136);
f = open('pythonOut.txt', 'wb');
f.write(s);
f.close();
Für MATLAB, ich habe:
s = strcat(char(143),char(136));
fid = fopen('matlabOut.txt');
fwrite(fid, s, 'char');
fclose(fid);
Wenn ich diese beiden Dateien vergleichen, sie sind anders. (mit diff und/oder cmp Befehl).
Mehr über, wenn ich
disp(char(hex2dec('88'))) //MATLAB prints
print chr(0x88) //PYTHON prints ˆ
Beide Ausgänge unterschiedlich sind. Ich möchte meinen MATLAB-Code wie Python machen. Was ist falsch mit MATLAB-Code?
Nur um den Lesern zu helfen, können Sie den binären Inhalt der Dateien anzeigen? Warum nehmen Sie an, dass der MATLAB-Code falsch ist? –
Ich denke, es ist nur ein Tippfehler im Code. 143,134 und 143,136. natürlich sind sie anders! Du hast sie anders gemacht. – thang
@than Danke, thang! Das war ein Tippfehler und ich habe das gerade behoben. – user1983388