2012-03-06 11 views
6

का एसटीएक्स चरित्र कैसे प्राप्त करूं मेरे पास एक उपकरण है जिसमें मैं सॉकेट के माध्यम से कनेक्ट करने की कोशिश कर रहा हूं, और मैनुअल के अनुसार, मुझे "हेक्स 02 के एसटीएक्स चरित्र" की आवश्यकता है।मैं हेक्स 02

मैं सी # का उपयोग करके यह कैसे कर सकता हूं?

उत्तर

8

आप यूनिकोड वर्ण भागने का उपयोग कर सकते हैं: \u0002

2

एक char करने के लिए 2 के Integer मूल्य कास्ट:

char cChar = (char)2; 
0

तुम इतनी तरह एक स्ट्रिंग के भीतर एसटीएक्स एम्बेड कर सकते हैं:

byte[] myBytes = System.Text.Encoding.ASCII.GetBytes("\x02Hello, world!"); 
socket.Send(myBytes); 
12

जियोफएम के उत्तर पर बस एक टिप्पणी (मेरे पास उचित तरीके से टिप्पणी करने के लिए पर्याप्त अंक नहीं हैं)।

आपको केवल दो अंकों का उपयोग करके एसटीएक्स (या अन्य पात्रों) को कभी भी एम्बेड नहीं करना चाहिए।

यदि अगला चरित्र ("x x2" के बाद) एक वैध हेक्स अंक था, तो इसे भी पार्स किया जाएगा और यह एक गड़बड़ होगी।

string s1 = "\x02End"; 
string s2 = "\x02" + "End"; 
string s3 = "\x0002End"; 

यहाँ, एस 1 ".nd",, के बराबर होती है के बाद से 2 ई डॉट चरित्र है, जबकि s2 और S3 बराबर एसटीएक्स + "का अर्थ अंतिम"।

1

\x02 एसटीएक्स कोड आप जाँच कर सकते हैं the ASCII Table

checkFinal = checkFinal.Replace("\x02", "End").ToString().Trim(); 
0

एक स्ट्रिंग, स्पष्ट रूप से Unicode format is best के भीतर है, लेकिन एक बाइट के रूप में उपयोग के लिए, इस दृष्टिकोण काम करता है:

byte chrSTX = 0x02; // Start of Text 
byte chrETX = 0x03; // End of Text 
// etc... 
संबंधित मुद्दे