python struct pack displaying ascii -
उपयोग करते समय
आयात संरचना struct.pack ("& gt; H", 31001) आउटपुट 'y \ x19' है, जब मुझे उम्मीद थी '\ x79 \ x19' मुझे पता है कि \ x79 एएससीआईआई में है, लेकिन क्या जानकारी समान है? ऐसा क्यों है कि एक बाइट जब दूसरे नहीं है, तब क्या हुआ? मैं एक modbus कमांड भेजना चाहता हूं और सोच रहा हूं कि क्या यह एक संचार समस्या पैदा कर रहा है। मैं modbus के लिए नया हूँ और मुझे यह पता चलने में परेशानी हो रही है कि दास स्वामी को क्यों नहीं जवाब देगा।
आप repr () फ़ंक्शन के परिणाम को देख रहे हैं, जो पायथन इंटरैक्टिव दुभाषिया सभी परिणामों पर उपयोग करता है जो None नहीं हैं। पायथन स्ट्रिंग सामग्री ASCII के लिए प्रिंट करने योग्य, \ r , \ n और \ t के लिए ASCII टेक्स्ट का उपयोग करके दिखाया जाता है कैरेज़ रिटर्न, न्यूलाइन और टैब वर्ण क्रमशः, और \ xhh हेक्स शेष के लिए बच निकले हैं। और हाँ, '\ x79' सटीक समान है बाइट के रूप में 'y' : & gt; & gt; & gt; 'Y' == '\ x79' सच है लेकिन प्रतिनिधित्व करते समय, पायथन बस आपको प्रिंट करने योग्य ASCII वर्ण दिखाता है:
& gt; & gt; & gt; ' अगर आप सभी कोडपॉइंट को दिखाना चाहते हैं तो आप स्ट्रिंग को 'hex' में एन्कोड कर सकते हैं हेक्साडेसिमल: & gt; & gt; & gt; 'Y \ x19'.encode (' हेक्स ')' 7919 '
Comments
Post a Comment