में चार (गैर ascii) मेरे पास तीन अक्षर हैं (127 से बड़ा) और मुझे इसे बाइनरी फ़ाइल में लिखना होगा।
किसी कारण से, MATLAB और PHP/पायथन एक अलग वर्ण लिखने के लिए जाता है।
पायथन के लिए, मेरे पास है:मैटलैब
s = chr(143)+chr(136);
f = open('pythonOut.txt', 'wb');
f.write(s);
f.close();
MATLAB के लिए, मेरे पास है:
s = strcat(char(143),char(136));
fid = fopen('matlabOut.txt');
fwrite(fid, s, 'char');
fclose(fid);
जब मैं इन दो फ़ाइलों की तुलना, वे अलग हैं। (diff और/या cmp कमांड का उपयोग कर)।
पर अधिक है, जब मैं
disp(char(hex2dec('88'))) //MATLAB prints
print chr(0x88) //PYTHON prints ˆ
दोनों outputs अलग हैं करते हैं। मैं अपने MATLAB कोड को पायथन के समान बनाना चाहता हूं। MATLAB कोड के साथ क्या गलत है?
बस पाठकों की मदद करने के लिए, क्या आप फ़ाइलों की बाइनरी सामग्री दिखा सकते हैं? साथ ही, आप मानते हैं कि यह MATLAB कोड क्यों गलत है? –
मुझे लगता है कि यह कोड में सिर्फ एक टाइपो समस्या है। 143,134 और 143,136। बेशक वे अलग हैं! आपने उन्हें अलग बना दिया। – thang
@thang धन्यवाद, थांग! वह एक टाइपो था और मैंने बस इसे ठीक कर दिया। – user1983388