सबटाइटल एन्कोडिंग बदलें
या सबटाइटल टेक्स्ट पेस्ट करें
विकल्प
यह बाइट बदलता है, सबटाइटल नहीं। फ़ाइल का हर अक्षर आपकी चुनी एन्कोडिंग में लिखा जाता है, इसलिए जो प्लेयर या स्क्रिप्ट किसी एक एन्कोडिंग पर अड़े हों उन्हें पढ़ने लायक फ़ाइल मिलती है। UTF-8 वही है जिसकी हर आधुनिक चीज़ अपेक्षा करती है और जिसमें यह साइट बाकी हर जगह लिखती है। BOM वाला UTF-8 वही बाइट हैं जिनके आगे तीन-बाइट चिह्न है। UTF-16 LE वही है जिसे Windows प्रोग्राम Unicode कहते हैं और आकार में लगभग दोगुना है। Windows-1252 पुरानी पश्चिमी यूरोपीय एन्कोडिंग है, हर अक्षर के लिए एक बाइट, और इसी में सावधानी चाहिए: इसमें चीनी, जापानी, कोरियाई, सिरिलिक, ग्रीक या इमोजी के लिए जगह नहीं, इसलिए जो भी अक्षर वह नहीं लिख सकती वह प्रश्नवाचक चिह्न बनकर निकलता है और ऊपर की रिपोर्ट में गिना जाता है। फ़ाइल में और कुछ नहीं बदलता।
टाइमिंग किस फ़्रेम रेट में गिनी गई है। फ़ॉर्मैट पेजों पर यही MicroDVD को चाहिए, क्योंकि वह टाइमिंग फ़्रेम संख्याओं में रखता है। फ़्रेम रेट पेजों पर यह वह रेट है जिसके हिसाब से फ़ाइल की टाइमिंग की गई थी — वह संस्करण जिसके लिए सबटाइटल बने थे — और पेज का दूसरा बॉक्स उस वीडियो का रेट लेता है जिसके साथ आप इन्हें इस्तेमाल करेंगे। 23.976, 24, 25, 29.97, 30, 50, 59.94 और 60 आम हैं। गलत होने पर पूरी टाइमलाइन खिसक जाती है, और फ़्रेम रेट पेजों पर वह एक अनुपात से खिसकती है, तय मात्रा से नहीं।
यह पेज सबटाइटल फ़ाइल की कैरेक्टर एनकोडिंग बदलता है — यानी यह तय करता है कि अक्षर बाइट में कैसे लिखे जाएँ — जबकि फ़ाइल का पाठ, टाइमिंग और ढाँचा वैसे ही रहता है। आप UTF-8, BOM वाला UTF-8, UTF-16LE और Windows-1252 में से चुन सकते हैं, और डिफ़ॉल्ट “जैसी है वैसी रखो” है ताकि बिना सोचे चलाने पर फ़ाइल अपने आप किसी और एनकोडिंग में न चली जाए।
एनकोडिंग बदलने की ज़रूरत अक्सर उस पुराने प्रसारण या वीडियो टूल पर आती है जो UTF-8 नहीं पढ़ता और Windows-1252 माँगता है, या उस आधुनिक पाइपलाइन पर जो UTF-16LE माँगती है। फ़ाइल को बदलने के बजाय उसकी एनकोडिंग बदलना सही क्रम है: पाठ वही रहता है, केवल उसका बाइट-रूप बदलता है, इसलिए आगे के दौर फ़ाइल को पहले जैसा ही पढ़ते हैं।
एक सीमा साफ़-साफ़ बताई जाती है: अगर आप Windows-1252 जैसी सीमित एनकोडिंग चुनते हैं और फ़ाइल में ऐसे अक्षर हैं जो उसमें नहीं आते — जैसे देवनागरी, चीनी या कोई विशेष चिह्न — तो वे अक्षर लिखे नहीं जा सकते और उनकी जगह प्रश्नवाचक चिह्न बैठ जाता है। यह पेज ऐसे अक्षरों की गिनती करके बताता है, क्योंकि यह चुपचाप होने वाला नुकसान है: फ़ाइल खुलती है, टाइमकोड सही होते हैं, और केवल कुछ अक्षर गायब मिलते हैं।
दो पैनल में पाठ एक जैसा दिख सकता है, और यह चिंता की बात नहीं — बदलाव बाइट-स्तर पर है, अक्षर-स्तर पर नहीं। फ़र्क़ देखने के लिए फ़ाइल का आकार या बाइट-निरीक्षक देखें। कुछ अपलोड नहीं होता; एनकोडिंग बदलना ब्राउज़र टैब के अंदर ही होता है, इसलिए जो फ़ाइल बाहर नहीं जा सकती वह यहाँ भी नहीं जाती।
उदाहरण
UTF-8 से Windows-1252
इनपुट
1
00:00:01,000 --> 00:00:02,000
The room is dark.
आउटपुट
1
00:00:01,000 --> 00:00:02,000
The room is dark.
पाठ वही रहता है और केवल बाइट-रूप बदलता है; जो अक्षर Windows-1252 में नहीं आते वे प्रश्नवाचक चिह्न बन जाते हैं और उनकी गिनती बताई जाती है। यह देखने लायक है कि टाइमकोड और ढाँचा नहीं बदलते — यानी टूल के लिए फ़ाइल अभी भी वही सबटाइटल है, बस उसकी एनकोडिंग अलग है।
UTF-8 में BOM के साथ
इनपुट
1
00:00:01,000 --> 00:00:02,000
The room is dark.
आउटपुट
1
00:00:01,000 --> 00:00:02,000
The room is dark.
BOM वाला UTF-8 वही पाठ है जो साधारण UTF-8, बस शुरू में तीन बाइट का चिह्न। जो टूल UTF-8 को उसके चिह्न से पहचानता है उसके लिए यही सही चुनाव है। पाठ की तुलना में कुछ नहीं बदलता, इसलिए नतीजे में दोनों पैनल एक जैसे दिखेंगे — फ़र्क़ बाइट में है।
UTF-8 से UTF-16LE
इनपुट
1
00:00:01,000 --> 00:00:02,000
こんにちは
आउटपुट
1
00:00:01,000 --> 00:00:02,000
こんにちは
UTF-16LE हर अक्षर को दो बाइट में लिखता है, इसलिए फ़ाइल का आकार लगभग दुगना हो जाता है; पाठ वही रहता है। जो टूल UTF-16 माँगता है वह अब इसे ठीक पढ़ेगा। ध्यान रखें कि UTF-16 में शुरू का BOM बाइट-क्रम बताने का संरचनात्मक हिस्सा है, इसलिए वहाँ उसे हटाना फ़ाइल को बिगाड़ सकता है।
अक्सर पूछे जाने वाले सवाल
सबटाइटल की कैरेक्टर एनकोडिंग बदलने वाला यह पेज कौन-सी एनकोडिंग देता है?
UTF-8, BOM वाला UTF-8, UTF-16LE और Windows-1252 — इनमें से एक, या डिफ़ॉल्ट विकल्प जो फ़ाइल को उसकी मौजूदा एनकोडिंग में रखता है। डिफ़ॉल्ट इसलिए है ताकि किसी और मक़सद से यह पेज चलाने पर फ़ाइल अपने आप किसी और एनकोडिंग में न चली जाए; आपको बदलना है तभी बदलें। सब विकल्प फ़ाइल का पाठ नहीं, उसका बाइट-रूप बदलते हैं।
अक्षर प्रश्नवाचक चिह्न क्यों बन गए?
क्योंकि आपने ऐसी एनकोडिंग चुनी जिसमें वे अक्षर नहीं आते। Windows-1252 सीमित है — उसमें लैटिन अक्षर और कुछ चिह्न हैं, पर देवनागरी, चीनी, अरबी या कई विशेष चिह्न नहीं। जो अक्षर लिखे नहीं जा सकते उनकी जगह `?` बैठता है, और पेज उनकी गिनती बताता है। इससे बचने के लिए UTF-8 चुनें, जो यूनिकोड के सारे अक्षर लिख सकता है; अपनी फ़ाइल के अक्षर पहले जाँच लें।
क्यों मेरे दोनों पैनल में पाठ एक जैसा दिख रहा है?
क्योंकि यह पेज अक्षरों को नहीं, उनके बाइट-रूप को बदलता है — इसलिए पाठ वही रहता है और दिखने में कुछ नहीं बदलता। फ़र्क़ देखने के लिए फ़ाइल का आकार देखें (UTF-16LE में लगभग दुगना, BOM में तीन बाइट ज़्यादा) या किसी बाइट-निरीक्षक में पहले कुछ बाइट देखें। यदि पाठ बदला दिखे तो कुछ और हुआ है — जैसे किसी सीमित एनकोडिंग में अक्षर न आना — और उसकी गिनती अलग से बताई जाती है।
एनकोडिंग बदलने से टाइमकोड या क्यू बदलते हैं?
नहीं। फ़ाइल का पाठ, टाइमकोड, क्यू का क्रम और ढाँचा वैसे ही रहते हैं; केवल यह बदलता है कि वे अक्षर बाइट में कैसे लिखे जाते हैं। यही इस दौर को फ़ाइल बदलने से अलग करता है — टूल के लिए फ़ाइल वही सबटाइटल है, और आगे के दौर उसे पहले जैसा पढ़ते हैं। अगर नतीजे में टेक्स्ट बदला दिखे तो वह सीमित एनकोडिंग में अक्षर न आने का मामला है, जिसकी गिनती बताई जाती है।
मुझे कौन-सी एनकोडिंग चुननी चाहिए?
जो आपका अगला टूल माँगता है। आधुनिक वेब और मोबाइल पाइपलाइन आम तौर पर UTF-8 पढ़ती हैं; जो पुराना सॉफ़्टवेयर UTF-8 को उसके चिह्न से पहचानता है उसे BOM वाला UTF-8 चाहिए; कुछ विंडोज़-केंद्रित प्रसारण टूल Windows-1252 माँगते हैं; और कुछ ख़ास पाइपलाइन UTF-16LE माँगती हैं। अगर पता न हो तो UTF-8 सबसे सुरक्षित है — वह हर यूनिकोड अक्षर लिख सकता है और आज सबसे व्यापक रूप से पढ़ा जाता है।
क्या यह पेज फ़ाइल की लाइन एंडिंग भी बदलता है?
नहीं। लाइन एंडिंग (LF या CRLF) एनकोडिंग से अलग चीज़ है और इस पेज पर वह जस की तस रहती है। अगर आपको दोनों बदलने हैं तो पहले यह दौर चलाएँ और फिर लाइन एंडिंग वाला पेज; क्रम मायने नहीं रखता पर दोनों अलग-अलग चलाने से आप हर बदलाव का नतीजा देख सकते हैं। BOM वाला विकल्प केवल शुरू का चिह्न जोड़ता है, एंडिंग नहीं छूता।