2008-11-12 10 views
12

मैं हेक्साडेसिमल नोटेशन में एस्केप अनुक्रम स्ट्रिंग कैसे बना सकता हूं।सी # हेक्साडेसिमल नोटेशन स्ट्रिंग बनाएं

उदाहरण:

string s = "\x1A"; // this will create the hex-value 1A or dec-value 26 

मैं इस तरह एफएफ के लिए 00 के बीच हेक्स-मूल्यों के साथ तार के निर्माण के लिए सक्षम होने के लिए (इस उदाहरण 1 बी में)

string s = "\x" + "1B"; // Unrecognized escape sequence 

चाहते हो सकता है कि वहाँ बनाने का एक और तरीका है हेक्साडेसिमल तार ...

+0

मुझे नहीं लगता कि मैं समझता हूं - इस उदाहरण में आप ansi कोड 26 के साथ एक ही अक्षर चाहते हैं? – Grzenio

+0

\ x और \ u दोनों यूनिकोड वर्णों के लिए बचने के अनुक्रम हैं। कंसोल आउटपुट पर दोनों प्रिंट ओमागा ('Ω') प्रतीक '' \ u03A9'' और '' x x3A9 ''। – RBT

उत्तर

19

आप तारों में हेक्साडेसिमल मानों को संग्रहीत नहीं करते हैं।

आप कर सकते हैं, लेकिन यह केवल एक स्ट्रिंग होगा, और वास्तव में इसके मूल्य को पढ़ने के लिए एक पूर्णांक या बाइट को डालना होगा। अपने स्ट्रिंग में एक हेक्साडेसिमल शाब्दिक पारित करने के लिए

Byte value = 0x0FF; 
int value = 0x1B; 

तो, इसकी आसानी से संभव:

आप किसी पूर्णांक या हालांकि एक बाइट के लिए एक शाब्दिक रूप में एक हेक्साडेसिमल मान असाइन कर सकते हैं

string foo = String.Format("{0} hex test", 0x0BB); 

कौन सा इस स्ट्रिंग को "126 हेक्स टेस्ट" बनाएगा।

लेकिन मुझे नहीं लगता कि आप यही चाहते थे?

+0

धन्यवाद, बाइट स्पष्टीकरण वही था जो मैं चाहता था – humcfc

3

हेक्साडेसिमल 16 बिट्स यूनिकोड वर्ण कोड के लिए एक '\ u' एस्केप कोड है।

Console.WriteLine("Look, I'm so happy : \u263A"); 
29

कृपया \x भागने अनुक्रम से बचने का प्रयास करें। इसे पढ़ना मुश्किल है क्योंकि यह कहां रुकता है डेटा पर निर्भर करता है। उदाहरण के लिए, इन दो तारों के बीच एक नज़र में कितना अंतर है?

"\x9Good compiler" 
"\x9Bad compiler" 

पूर्व में, "\ x9" टैब है - एस्केप अनुक्रम वहाँ बंद हो जाता है क्योंकि 'जी' मान्य हेक्स चरित्र नहीं है। दूसरी स्ट्रिंग में, "\ x9Bad" सभी एक अनजान अनुक्रम है, जो आपको कुछ यादृच्छिक यूनिकोड चरित्र और "कंपाइलर" के साथ छोड़ देता है।

मैं सुझाव है कि आप \ यू बजाय अनुक्रम से बचने का उपयोग करें:

"\u0009Good compiler" 
"\u0009Bad compiler" 

(टैब के लिए बेशक आप \t का उपयोग करेंगे, लेकिन मुझे आशा है कि आप देख मैं क्या मतलब है ...)

यह वह जगह है कुछ हद तक मूल प्रश्न से अलग है, लेकिन इसका उत्तर पहले ही दिया गया है :)

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