2011-02-23 10 views
5

यहां एक दिलचस्प सवाल है कि मुझे मौजूदा समाधान या क्षेत्र में शोध के संदर्भ में ज्यादा जानकारी नहीं है, हालांकि मुझे लगता है कि यह संपीड़न के क्षेत्र से संबंधित है।सी # के लिए रिवर्सिबल स्ट्रिंग diff (इतिहास) एल्गोरिदम?

पाठ के दो संभावित बड़े तारों को देखते हुए, जहां कोई पूर्व के बाद के संस्करण का प्रतिनिधित्व करता है, क्या यह संभव है (अच्छी तरह से मुझे पता है कि यह संभव है, मैं वास्तव में मौजूदा समाधान हैं) उन दो तारों की तुलना करने और उन्हें कम करने के लिए मतभेद के सेट के लिए जो बाद में मूल तारों को निर्धारित करने के लिए उपयोग किया जा सकता है?

मेरे मामले में, मुझे स्ट्रिंग के नवीनतम संस्करण को संग्रहीत करने में दिलचस्पी है, लेकिन "संपीड़ित" (diffed) ऐतिहासिक बैकअप को रखने के लिए आवश्यक है, जो वास्तव में सभी डुप्लिकेट जानकारी संग्रहीत किए बिना आवश्यकतानुसार पुनर्स्थापित किया जा सकता है।

मुझे नहीं पता कि यह कैसे टैग करना है, कृपया मेरी मदद करें।

+0

मौजूदा समाधान? SVN? –

+0

ऐसा लगता है कि आप पहले से ही इसका जवाब जानते हैं। आप बस diff का उपयोग करें। –

+2

क्या मैं diff का प्रोग्रामेटिक रूप उपयोग कर सकता हूं? और अधिक महत्वपूर्ण बात यह है कि यह अलग डेटा दिया गया है? मैंने पहले कभी भी diff अनुप्रयोगों का उपयोग नहीं किया है, प्रोग्रामेटिक रूप से कभी नहीं। – devios1

उत्तर

4

सीएलआर में कक्षाओं में कोई भी निर्माण नहीं है जो भिन्नता का समर्थन करता है।

संबंधित प्रश्नों में उपयोगी जानकारी होती है (यानी Creating Delta Diff Patches of large Binary Files in C#)। आप शुरू करने के लिए "डेल्टा एन्कोडिंग" पर भी खोज देख सकते हैं (यानी http://en.wikipedia.org/wiki/Delta_encoding)।

+0

+1 मुझे इसके लिए उचित अवधि में प्रबुद्ध करने के लिए +1। :) – devios1

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