2010-04-22 12 views
5

डेल्फी 2010डेल्फी स्टैंडर्ड इनपुट आउटपुट कोड पृष्ठ

जब readLn प्रक्रिया का उपयोग कर फ़ाइल से पढ़ने, डिफ़ॉल्ट रूप से मैं यूनिकोड स्ट्रिंग कोड पेज 1251 (खिड़कियों के कोड पृष्ठ) से परिवर्तित मिलता है।

कैसे मैं 1252 या UTF16 में बदल और अन्य कोड पृष्ठ के रिकॉर्ड से पढ़ सकते हैं,?

उत्तर

0

आप एक TStreamReader उपयोग कर सकते हैं - आप जो एन्कोडिंग आप जब यह निर्माण पढ़ना चाहते हैं निर्दिष्ट कर सकते हैं।

उदाहरण के लिए, TStreamReader.Create(FileName, TEncoding.UTF8); एक TStreamReader बनाएगा जिसका उपयोग फ़ाइल नाम में निर्दिष्ट फ़ाइल से टेक्स्ट पढ़ने के लिए किया जा सकता है, यूटीएफ -8 का उपयोग एन्कोडिंग के रूप में करते हुए।

+0

-1। प्रश्न के दो पहलू हैं कि यह उत्तर संबोधित नहीं करता है। एक यह है कि इनपुट का स्रोत stdin है, डिस्क फ़ाइल नहीं। दूसरा यह है कि वर्तमान कोड 'readln' का उपयोग करता है, न कि स्ट्रीम। (यदि ऐसा इसलिए है क्योंकि 'readln' हमेशा विंडोज कोड पेज का उपयोग करता है, तो यह ठीक है, लेकिन कृपया ऐसा कहें, या नहीं, ऐसा लगता है कि आपने प्रश्न के विवरणों को अनदेखा किया है।) –

2

नए कोड के लिए ReadLn/WriteLn का उपयोग न करें। माइकल मैडसेन द्वारा सुझाए गए अनुसार SysUtils में TStreamReader का उपयोग करें।

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