2012-07-18 32 views
8

मेरे पास टेक्स्ट डेटा का स्रोत है जिसमें बाइट अनुक्रम सी 3 82 सी 2 बीएफ शामिल है। संदर्भ में मुझे लगता है कि यह एक राजधानी यूनानी फाई प्रतीक (Φ) माना जाता है।सी 3 82 सी 2 बीएफ क्या चरित्र एन्कोडिंग है?

वैसे भी मैं यह नहीं समझ सकता कि एन्कोडिंग का उपयोग किया जा रहा है; मैं इस डेटा को ऐसे डेटाबेस में संसाधित करने के लिए एक पायथन लिपि लिख रहा हूं जो यूनिकोड की अपेक्षा करता है, और यह डेटा के इस विशेष अनुक्रम पर अपवाद फेंकता है।

इसे संभालने के तरीके पर कोई सुझाव?

+1

क्या आप जादू एन्कोडिंग के साथ एन्कोड किए गए अधिक नमूना डेटा पोस्ट कर सकते हैं? आपको क्या लगता है कि यह एक पत्र है? – vcsjones

+0

संदर्भ में यह "चुंबकीय प्रवाह \ xc3 \ x82 \ xC2 \ पिता xbf" जो शायद Φ पिता

+0

अब तक केवल विफलता डेटा उपलब्ध न होना चाहिए है, तो मैं केवल उस पर जाना है। –

उत्तर

17

यूटीएफ -8 के रूप में व्याख्या किया गया, सी 3 82 "यू" 00 + 2 और सी 2 बीएफ "¿" यू +00 बीएफ है, जो अधिक समझ में नहीं आता है, लेकिन यह तकनीकी रूप से मान्य यूटीएफ -8 डेटा नहीं है, इसलिए यह नहीं होना चाहिए चरित्र-स्तर डेटा त्रुटि के रूप में रिपोर्ट किया जाना चाहिए। यूटीएफ -16 के रूप में व्याख्या किया गया है, यह हंगुल अक्षरों और संभवतः एक सीजेके विचारधारा है, जो अंतहीनता के आधार पर है, लेकिन अभी भी औपचारिक रूप से वैध डेटा है, हालांकि संभवतः इसका अर्थ क्या नहीं था।

यह डबल रूपांतरण के परिणाम की तरह लगता है, लेकिन शिक्षित अनुमान बनाना मुश्किल है। यदि यह Φ के लिए खड़ा है, तो यूटीएफ -16 फॉर्म 03 ए 6 या ए 6 03 है और यूटीएफ -8 फॉर्म सीई ए 6 है, जो वास्तव में वास्तविक डेटा जैसा नहीं है। डेटा की उत्पत्ति के बारे में जानकारी अनुमान लगाने में मदद कर सकती है कि ट्रांसकोडिंग क्या हो सकती है।

+1

यह एक डबल-एन्कोडेड यू +00 बीएफ, उल्लिखित प्रश्न चिह्न की तरह दिखता है। –

+2

@ किथ थॉम्पसन, यह सही है! यदि आपके पास यू +00 बीएफ है और आप यूटीएफ -8 इसे एन्कोड करते हैं, तो आपको बाइट्स सी 2 बीएफ मिल जाता है।यदि आप गलती से इन बाइट्स को यू +00 सी 2 और यू +00 बीएफ और यूटीएफ -8 एन्कोड के रूप में समझते हैं, तो आपको वास्तविक डेटा के रूप में सी 3 82 सी 2 बीएफ मिलता है। –

+0

यह एक समस्या है जहां से "¿" आता है। मैं आमतौर पर यह उम्मीद करता हूं कि यह अभी तक एक और गलत रूपांतरण (8-बिट एन्कोडिंग के बीच अनुमानित) का परिणाम हो, लेकिन मैं कल्पना नहीं कर सकता कि यह क्या हो सकता है। –

10

यह शायद Ñ चरित्र से एक डबल रूपांतरण है।

Ñमें वर्ण यूटीएफ -8 है: 0xc391

आप लैटिन -1को UTF-8Ñ चरित्र जो पहले से ही UTF-8 में एन्कोड किया गया है से बदलने की कोशिश करते हैं, तो आप प्राप्त करेंगे: 0xc382c2bf

क्यों?

  1. 0xc382 है UTF-8 अनुवाद से लैटिन -10xc3 चरित्र Ã (टिल्ड साथ ए)
  2. 0xc2bf है जो आप जब आप से एक चरित्र परिवर्तित नहीं कर सकते प्राप्त ¿ चरित्र है लैटिन -1 (0x91 में कोई अमान्य वर्ण है लैटिन-1
+0

धन्यवाद लेकिन Ñ के साथ कुछ भी नहीं करना, यह एक इंजीनियरिंग पेपर है जहां Φ समझ में आता है। –

+0

सबसे अधिक संभावना है कि '(टिल्ड के साथ ए) + (उल्टा?)' _any_ अनजान डबल रूपांतरण का परिणाम है। इस प्रकार, मूल चरित्र पर वापस जाने के लिए कोई रास्ता नहीं होगा। – ashnazg

2

एफडब्ल्यूआईडब्ल्यू, मैं   से c3 82 c2 bf के साथ समाप्त हुआ। मैंने परिवर्तनों में खुदाई नहीं की क्योंकि मैं कोड के उस हिस्से को आसानी से फेंकने में सक्षम था। यह कहने के लिए पर्याप्त है कि   एक HTML ईमेल टेम्पलेट में था जिसे एक वर्डप्रेस (php) प्लगइन द्वारा संसाधित किया गया था।

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