2016-12-13 8 views
5

मैं अजगर कि अरबी पाठ लेकिन अरबी पाठ होता है में JSON फ़ाइल पढ़ना चाहते से पढ़ना अरबी कि तरह दिखाई है:JSON फ़ाइल

ط§ظ„ط³ظژط¹ظژط§ط¯ظژط©ظگ ظ„ظژظٹظگط³ظژطھظŒ ط§ظ„ط­ظژطµظŒظˆظژظ„ظژ ط¹ظژظ„ظ‰ظژ 
ظ…ط§ظژ ظ„ط§ظ†ظژظ…ظ„ظگظƒظژ ط¨ظژظ„ ظ‡ظگظٹظژ ط£ظ†ظژ ظ†ظژظپظ‡ظŒظ…ظژ 
ظˆظژظ†ظگط¯ط±ظژظƒظژ ظ‚ظژظٹظگظ…ط©ظڈ ظ…ظژط§ظ†ظژظ…ظ„ظƒ 

मैं कैसे सही अरबी पत्र पढ़ सकते हैं?

import sys 
non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd) 
print(x.translate(non_bmp_map)) 

x पैरामीटर कि JSON फ़ाइल से अरबी मूल्य होता है। मुझे यह वाक्य प्राप्त करने की उम्मीद है: السعادة ليست الحصول على ما لانملك بل هي أن نفهم وندرك قيمة مانملك लेकिन मुझे मिलती है "ط³ظژط¹ظژط§ط¯ظژط © ظگ ظ" ظژظٹظگطژظھطھظ Œ طتظ "طظژطμظ Œ ظظژظ" ظژ‰ظژظ "ظ ‰ ظژ ظ ... ط§ظژ ظ "ط§ظ † ظژظ ... ظ" ظگظ ƒ ظژ ط¨ظژظ "ظ ‡ ظگظٹظژ ط £ ظ † ظژ ظ † ظژظپظ ‡ ظ ँ ظ ... ظژ ظظژظ † ظگط¯ط ± ظژظ ƒ ظژ ظ,ظژظٹظگظ ... ط © ظڈ ظ ... ظژط§ظ † ظژظ ... ظ ƒ

+1

(यदि आप एक हो जाते हैं और पूर्ण त्रुटि संदेश) आप (प्रश्न में) दिखा सकता है oryginal डेटा, अपेक्षित परिणाम – furas

+0

मैं इस वाक्य मिलने की उम्मीद: السعادة ليست الحصول على ما لانملك بل هي أن نفهم وندرك قيمة مانملك लेकिन मुझे लगता है कि "मैं इस बात का पता लगा सकता हूं" ¨ظژظ "ظ ‡ ظگظٹظژ ط £ ظ † ظژ ظ † ظژظپظ ‡ ظ ँ ظ ... ظژ ظظژظ † ظگط¯ط ± ظژظ ƒ ظژ ظ,ظژظٹظگظ ... ط © ظڈ ظ ... ظژط§ظ † ظژظ ... "ظ ƒ –

+1

Btw: जैसा कि मैंने पिछले सराहना में कहा - आप प्रश्न में यह दिखाना चाहिए, सराहना में नहीं। प्रश्न में यह महत्वपूर्ण जानकारी थी - सभी पढ़ी गई टिप्पणियां नहीं। – furas

उत्तर

3

आपने उल्लेख नहीं किया है कि क्या आप पाइथन 3 या 2 का उपयोग कर रहे हैं। पायथन 3 में, तार डिफ़ॉल्ट रूप से यूनिकोड हैं।

आप अजगर 2 उपयोग करते हैं, codec का उपयोग करें:

import codecs 
f = codecs.open('unicode.rst', encoding='utf-8') 
for line in f: 
    print repr(line) 

रेफरी: Unicode How-to


यह संभव है, तथापि कि अपने इनपुट डेटा सही ढंग से इनकोडिंग नहीं है,। उस स्थिति में, आप ftfy package का उपयोग करने का प्रयास कर सकते हैं।

ftfy टूटने/असंगत यूनिकोड एन्कोडिंग को ठीक करने के लिए कई हेरिस्टिक्स लागू करता है। डॉक्स से:

>>> from ftfy import fix_encoding 
>>> print(fix_encoding("(ง'⌣')ง")) 
(ง'⌣')ง 
+2

हाहाहाह। "Ftfy" नामक एक अजगर है? एक्सडी हम कितने रोमांचक समय में रहते हैं! –

+0

यह काम नहीं है। नोटपैड दिखाता है कि एन्कोड एएनएसआई –

+0

> नोटपैड दिखाता है कि एन्कोड एएनएसआई –

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