2010-06-15 13 views
6

कैसे भेजें मैं ctrl+z को स्ट्रिंग में कैसे परिवर्तित करूं?ctrl + z

मैं इसे इस कंप्यूटर पर संलग्न डिवाइस पर एटी कमांड के रूप में भेज रहा हूं।

असल में, मैं सिर्फ कुछ वर्ण एक स्ट्रिंग में ctrl+z कि स्ट्रिंग में डाल दिया और साथ ही साथ करने के लिए

उत्तर

3

निम्नलिखित के लिए काम करेंगे कोशिश आप

serialPort1.Write("Test message from coded program" + (char)26); 

भी के लिए काम कर सकते हैं की कोशिश आप

serialPort1.Write("Test message from coded program"); 
    SendKeys.Send("^(z)"); 

यह भी जांचें: http://www.dreamincode.net/forums/topic/48708-sending-ctrl-z-through-serial/

3
byte[] buffer = new byte[1]; 
buffer[0] = 26; // ^Z 
modemPort.Write(buffer, offset:0, count:1); 
6

आप \u भागने के साथ किसी भी यूनिकोड वर्ण एम्बेड कर सकते हैं:

"this ends with ctrl-z \u001A" 
1

जब एक डिवाइस के लिए पात्रों भेजने, आंतरिक स्ट्रिंग प्रतिनिधित्व से अनुवाद की जरूरत है। इसे Encoding के रूप में जाना जाता है - एक एन्कोडर स्ट्रिंग को बाइट सरणी में अनुवाद करता है।

Unicode Character Name Index से परामर्श करते हुए, हमें SUBSTITUTE - 0x001AC0 Controls and Basic Latin (ASCII विराम चिह्न) अनुभाग में वर्ण मिलता है। CTRL-Z को आंतरिक C# स्ट्रिंग में जोड़ने के लिए, unicode character escape sequence (\u001a) कोड जोड़ें।

String ctrlz = "\u001a"; 
String atcmd = "AT C5\u001a"; 

डिवाइस के उत्पादन से पहले अनुवाद के लिए इस्तेमाल किसी भी एन्कोडिंग (उदाहरण के उत्पादन StringWriter प्रयोग करने के लिए), इस Ctrl-Z ASCII को अनुवाद कर देगा।

2

यह अन्य प्रतिक्रियाओं से स्पष्ट है कि Ctrl + Z में ASCII कोड 26 है; सामान्य रूप से Ctrl + [letter] संयोजनों में ASCII कोड 1+ के बराबर होता है [अक्षर] - 'ए' यानी Ctrl + A में ASCII कोड 1 (\ x01 या \ u0001) है, Ctrl + B में ASCII कोड 2 है, आदि

संबंधित मुद्दे