2011-02-26 13 views
7

ठीक है, मैं यहाँ मोटा हूं। मैं एक फाइल को संसाधित कर रहा हूं जिसे मुझे विभाजक के आधार पर विभाजित करने की आवश्यकता है।ASCII गैर पठनीय पात्र 28, 2 9 31

निम्नलिखित कोड विभाजक फ़ाइलों के लिए परिभाषित चलता मैं

private static final String component = Character.toString((char) 31); 
private static final String data  = Character.toString((char) 29); 
private static final String segment  = Character.toString((char) 28); 

प्रसंस्करण कर रहा हूँ किसी को इन विशिष्ट विभाजक के महत्व के बारे में समझाएं कर सकते हैं?

एएससीआई कोड देख रहे हैं, ये विभाजक फ़ाइल, समूह और इकाई विभाजक हैं। मैं वास्तव में समझ में नहीं आता कि इसका क्या अर्थ है।

धन्यवाद

उत्तर

9

पढ़ें ASCII Delimiter section of this tutorial इन को समझने के लिए। और फिर this article विशेष रूप से 28,29 और 31 का उपयोग करके पाठ को सीमित करने के ASCII तरीके के बारे में बात करते हैं।

+0

ठीक है मैं अब देखते हैं कि ये क्यों इस्तेमाल किया गया। धन्यवाद – ziggy

1

ये वर्ण नियंत्रण वर्ण हैं। वे मनुष्यों द्वारा लिखे या पढ़ने के लिए नहीं हैं, बल्कि कंप्यूटर द्वारा। आपको किसी अन्य चरित्र की तरह अपने कार्यक्रम में उनका इलाज करना चाहिए।

18

Found this here. Cool website!

28 - FS - फ़ाइल विभाजक फ़ाइल विभाजक एफएस एक दिलचस्प नियंत्रण कोड, क्योंकि इससे हमें तरीका है कि कंप्यूटर प्रौद्योगिकी साठ के दशक में संगठित था में जानकारी देता है है। अब हम रैम और चुंबकीय डिस्क जैसे यादृच्छिक एक्सेस मीडिया के लिए उपयोग किए जाते हैं, लेकिन जब ASCII मानक परिभाषित किया गया था, तो अधिकांश डेटा धारावाहिक था। मैं केवल धारावाहिक संचार के बारे में बात नहीं कर रहा हूं, बल्कि सीरियल स्टोरेज जैसे पंच कार्ड, पेपर टेप और चुंबकीय टेप के बारे में बात नहीं कर रहा हूं। ऐसी स्थिति में यह के लिए स्पष्ट रूप से कुशल है को दो फ़ाइलों को अलग करने के लिए एक एकल नियंत्रण कोड है। इस उद्देश्य के लिए एफएस परिभाषित किया गया था।

29 - जी एस - समूह विभाजक डाटा संग्रहण कुछ नियंत्रण कोड ASCII परिभाषा पाने के लिए के लिए मुख्य कारणों में से एक था। डेटाबेस अधिकांश समय सेटअप तालिकाओं के साथ हैं, जिसमें रिकॉर्ड हैं। एक तालिका में सभी रिकॉर्ड समान प्रकार हैं, लेकिन विभिन्न तालिकाओं के रिकॉर्ड अलग-अलग हो सकते हैं। समूह विभाजक जीएस को धारावाहिक डेटा संग्रहण प्रणाली में अलग-अलग तालिकाओं के लिए परिभाषित किया गया है। ध्यान दें कि शब्द तालिका का उपयोग उस पल पर नहीं किया गया था और ASCII लोगों ने इसे समूह कहा था।

30 - आरएस - रिकार्ड विभाजक एक समूह (या तालिका) के भीतर रिकॉर्ड रुपये से अलग किया या विभाजक रिकॉर्ड कर रहे हैं।

31 - अमेरिका - यूनिट विभाजक छोटी से छोटी डेटा आइटम एक डेटाबेस में संग्रहीत करने के लिए ASCII परिभाषा इकाइयों कहा जाता है। हम उन्हें फ़ील्ड कहेंगे। यूनिट सेपरेटर इन फ़ील्ड को सीरियल डेटा स्टोरेज वातावरण में अलग करता है।अधिकांश वर्तमान डेटाबेस कार्यान्वयन के लिए आवश्यक है कि अधिकांश प्रकार के फ़ील्ड में एक निश्चित लंबाई है। रिकॉर्ड में पर्याप्त जगह को प्रत्येक फ़ील्ड के संभावित सदस्य को स्टोर करने के लिए आवंटित किया गया है, भले ही अधिकांश मामलों में यह आवश्यक नहीं है। इस स्थिति में कई स्थितियों में बड़ी मात्रा में स्थान खर्च होता है। यूएस नियंत्रण कोड सभी क्षेत्रों में एक चर लंबाई होने की अनुमति देता है। यदि डाटा स्टोरेज स्पेस सीमित है- साठ के दशक में - यह मूल्यवान स्थान को संरक्षित करने का अच्छा तरीका है। दूसरी तरफ धारावाहिक भंडारण तालिका की तुलना में बहुत कम कुशल है आधुनिक समय के संचालित रैम और डिस्क कार्यान्वयन। मैं एक स्थिति है जहाँ आधुनिक SQL डेटाबेस कागज टेप या चुंबकीय रीलों पर संग्रहीत डेटा के साथ चलाए जा रहे हैं ...

+1

मुझे यह जवाब बेहतर लगता है! यह मुझे बहुत कुछ पढ़ता है और सीधे सवाल को संबोधित करता है। – talkaboutquality

+0

हालांकि यह चयनित उत्तर में दिए गए दशमलव ASCII कोड जोड़ने से लाभान्वित होगा। साथ ही, चूंकि मैं यहां चैट कोड से सहेजी गई टेक्स्ट फ़ाइल से इन कोडों से छुटकारा पाने में मदद करने के लिए आया था, इसलिए हेक्स कोड भी अच्छा होगा: 1 सी, 1 डी, और 1 एफ। रेगेक्स में लिखने के लिए, बीटीडब्ल्यू, यहां देखें: http://stackoverflow.com/questions/3203190/regex-any-ascii-character – talkaboutquality

1

ascii नियंत्रण वर्ण 28-31 से लेकर कल्पना नहीं कर सकते। (0x1F को 0x1C)

31 Unit Separator 
30 Record Separator 
29 Group Separator 
28 File Separator 

नमूना मंगलाचरण:

char record_separator = 0x1F; 
String s = "hello" + record_separator + "world" 
+0

सरल स्पष्टीकरण, धन्यवाद। –

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