2012-04-27 10 views
13

मैं डिकोडिंग टेक्स्ट पर काम कर रहा हूं। मैं चरित्र के लिए वर्ण कोड खोजने की कोशिश कर रहा हूं, ASCII में - के लिए गलत नहीं होना चाहिए। मैंने असफल प्रयास किया है। क्या कोई जानता है कि इसे कैसे परिवर्तित किया जाए? विकी है'-' के लिए ASCII वर्ण कोड क्या है?

+0

'इस डिकोड को डीकोड' से आपका क्या मतलब है? स्रोत टेक्स्ट में क्या एन्कोडिंग का उपयोग किया जाता है, और परिणामस्वरूप कौन सी एन्कोडिंग का उपयोग किया जाना चाहिए? – raina77ow

+0

@ raina77ow: मैं असीसी तालिका –

+0

में इस char की संख्या को खोजने का प्रयास करता हूं; यह वहां नहीं है; इसलिए, इसका कोड इस बात पर निर्भर करता है कि एन्कोडिंग का उपयोग किस प्रकार किया जाता है। उदाहरण के लिए, लैटिन -1 ग्रंथों में 'mdash' को 151 के साथ दर्शाया गया है। – raina77ow

उत्तर

20

कोटेशन (Em dash)

जब एक वास्तविक एम डैश अनुपलब्ध-के रूप में सेट-एक ASCII वर्ण डबल ("-") में है या ट्रिपल हाइफ़न-माइनस ("---") प्रयोग किया जाता है। यूनिकोड में, एम डैश यू + 2014 (दशमलव 8212) है।

एम डैश चरित्र ASCII चरित्र सेट का हिस्सा नहीं है।

+0

तो जब मैं करता हूं: 'char check = s.charAt (0) ', जब s =' -', मुझे क्या मिलेगा? क्या आप कहते हैं कि अगर मैं 'int check = s.charAt (0)' करूंगा, तो मुझे 8212 मिलेगा? –

+3

@AdamSh यह डिकोडिंग करने के लिए आप जो उपयोग कर रहे हैं उस पर निर्भर करता है। आपने कोई कोड पोस्ट नहीं किया है, इसलिए यह कहना मुश्किल है। आम तौर पर जब एक डिकोडर कुछ मुठभेड़ करता है तो यह डीकोड नहीं कर सकता है, इसे एक प्रश्न चिह्न के साथ बदल देता है। – vcsjones

+0

आपको या तो अपवाद फेंकना चाहिए या बड़े पूर्णांक का उपयोग करना शुरू करना चाहिए और 8212 लौटना चाहिए। – Li0liQ

5

को एम डैश के नाम से जाना जाता है। यह चरित्र कोड \u2014 है। यह एक ASCII चरित्र नहीं है, इसलिए आप इसे ASCII चरित्र सेट के साथ डीकोड नहीं कर सकते क्योंकि यह ASCII वर्ण तालिका में नहीं है। आप शायद इसके बजाय यूटीएफ 8 का उपयोग करना चाहते हैं।

+0

के बराबर होगा जावास्क्रिप्ट स्ट्रिंग यूनिकोड सक्षम हैं लेकिन यूसीएस -2, आंतरिक रूप से यूटीएफ -8 का उपयोग करें। किसी भी तरह से, इसका प्रतिनिधित्व करने के लिए एन्कोडिंग को जानने की कोई आवश्यकता नहीं है, क्योंकि आप इसे '\ u2014' रूप में यूनिकोड कोड बिंदु के विरुद्ध देख सकते हैं जैसा आपने कहा था। – thomasrutter

2

यह वर्ण ASCII में मौजूद नहीं है, लेकिन केवल यूनिकोड में, आमतौर पर यूटीएफ -8 द्वारा एन्कोड किया जाता है।

यूटीएफ -8 में, पात्र 2- या 3-बाइट अनुक्रमों (या कभी-कभी लंबे समय तक) द्वारा एन्कोड किए जाते हैं, जहां दो या तीन बाइट्स वैध एएससीआईआई कोड नहीं है, जहां वे सभी ASCII रेंज के बाहर हैं 0 के माध्यम से 127.

एक संदिग्ध व्यक्ति जो केवल पूर्वव्यापी आपके प्रश्न का उत्तर देता है, लेकिन यदि ऐसा है तो शायद यह है क्योंकि आपका प्रश्न अनजाने में, केवल आंशिक रूप से पूछा गया है। अधिक जानकारी के लिए, आप अपने प्रश्न को अधिक विशिष्टताओं के साथ बढ़ा सकते हैं।

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