2012-11-08 17 views
15

संभव डुप्लिकेट:
Converting Unicode strings to escaped ascii stringConvert स्ट्रिंग

मैं कैसे \u0131... की तरह कुछ में बदल सकते हैं ä...?

वहाँ ऐसा करने के लिए किसी भी समारोह है?

पुनश्च:

इस तरह के बगल में

: [खेद @Kendall फ्रे :-)]

char a = 'ä'; 
string escape = "\\u" + ((int)a).ToString("X").PadLeft(4, '0'); 
+0

@ जोनस्केट कोई तैयार कार्य नहीं है? –

+6

यह * तैयार * यदि आप कट और पेस्ट करने के लिए के लिए ... –

+0

भी 'string.isNullOrEmpty' कोड काटा जा सकता है है और पेस्ट, मेरे सवाल का एक तैयार एक' string.isNullOrEmpty' –

उत्तर

22

यहाँ एक समारोह पलायन अनुक्रम करने के लिए एक चार कन्वर्ट करने के लिए है:

string GetEscapeSequence(char c) 
{ 
    return "\\u" + ((int)c).ToString("X4"); 
} 

यह एक लाइनर से ज्यादा बेहतर नहीं होगा।

और कोई है, वहाँ कोई निर्मित समारोह के रूप में तक मुझे पता है है।

+2

मुझे लगता है वहाँ प्रारूप स्ट्रिंग में बाएं गद्दी सही हो रही बजाय PadLeft बुला हालांकि ... –

+0

@JonSkeet का एक तरीका है - मैं सिर्फ 'ToString (" एक्स 4 ") के लिए बदल रहा विश्वास' और 'PadLeft' छोड़ने जाएगा चाल चलो। –

+2

@ जोन्ससेट बेहतर है? –

6

कोई बिल्ट-इन समारोह AFAIK नहीं है। यहां एक सुंदर मूर्ख समाधान है जो काम करता है। लेकिन केंडल फ्री ने बहुत बेहतर संस्करण प्रदान किया।

string GetUnicodeString(string s) 
{ 
    StringBuilder sb = new StringBuilder(); 
    foreach (char c in s) 
    { 
     sb.Append("\\u"); 
     sb.Append(String.Format("{0:x4}", (int)c)); 
    } 
    return sb.ToString(); 
} 
संबंधित मुद्दे