2008-08-11 11 views
6

सत्यापित करने/परीक्षण करने का सबसे अच्छा तरीका क्या है कि टेक्स्ट स्ट्रिंग को एक निश्चित एन्कोडिंग के साथ बाइट सरणी में क्रमबद्ध किया जाता है?टेस्ट सीरियलाइजेशन एन्कोडिंग

मेरे मामले में, मैं यह सत्यापित करना चाहता हूं कि एक एक्सएमएल संरचना को यूटीएफ -8 एन्कोडिंग के साथ एक बाइट सरणी में क्रमबद्ध किया गया है जो परिवर्तनीय वर्ण की लंबाई है। एक उदाहरण के रूप में, मेरी वर्तमान बदसूरत प्रक्रिया एक चरित्र को इंजेक्ट करना है जिसे धाराबद्ध करने से पहले संरचना में दो बाइटों की आवश्यकता होती है, फिर दो-बाइट वर्ण को एएससीआईआईआई चरित्र के साथ बदलकर और धारावाहिक सरणी लंबाई की तुलना करना। यह दो धारावाहिक सरणी उत्पन्न करना चाहिए जहां दो बाइट वर्ण वाले सरणी में लंबाई +1 होना चाहिए।

प्लस यदि समाधान जावा के लिए सुरुचिपूर्ण है। मैं बाइट सरणी में बाइट अनुक्रम की तलाश करने के किसी भी सुरुचिपूर्ण तरीके से नहीं सोच सकता। (यूटीएफ -8 में वांछित चरित्र प्रतिनिधित्व का प्रतिनिधित्व करने के लिए ज्ञात बाइट अनुक्रम की तलाश करने के लिए इस्तेमाल किया जा सकता है।)

उत्तर

2

शायद आप ज्ञात एन्कोडिंग का उपयोग करके बाइट सरणी को deserialise कर सकते हैं और यह सुनिश्चित कर सकते हैं कि (ए) यह कोई अपवाद नहीं फेंकता है , और (बी) मूल स्ट्रिंग के लिए deserialises। ऐसा लगता है कि परिदृश्य के आपके वर्णन से, आपके पास मूल स्ट्रिंग आसानी से उपलब्ध नहीं हो सकती है। क्या इसे बनाने का कोई तरीका हो सकता है?

0

यह अच्छा है। आप सही हैं, मेरे पास मूल स्ट्रिंग नहीं है, क्योंकि मैं एक मॉड्यूल का परीक्षण कर रहा हूं जो एक XML दस्तावेज़ को बाइट सरणी के रूप में बनाता है। मैंने एक अपेक्षित एन्कोडिंग के साथ एक स्ट्रिंग को deserializing के बारे में नहीं सोचा था। वह चाल करेगा।

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