2008-11-05 16 views
10

यूटीएफ -16 फाइलों को यूटीएफ -8 में परिवर्तित करने का सबसे अच्छा तरीका क्या है? मुझे इसे एक cmd स्क्रिप्ट में उपयोग करने की आवश्यकता है।यूटीएफ -16 यूटीएफ -8 रूपांतरण (विंडोज़ में स्क्रिप्टिंग के लिए)

उत्तर

19

एक जीएनयू उपकरण recode है जिसे आप विंडोज पर भी उपयोग कर सकते हैं। ईजी।

recode utf16..utf8 text.txt 
+3

'रिकोड' का एक विंडोज संस्करण स्रोतफोर्ज से 'Win32' पैकेज के लिए 'जीएनयू यूटिलिटीज' के हिस्से के रूप में डाउनलोड किया जा सकता है: http://downloads.sourceforge.net/unxutils/UnxUtils.zip?modtime=1172730504&big_mirror=0 – msanders

+1

संक्षिप्त नोट - यह एक उपयुक्त-स्थापित इंस्टॉल रिकोड के साथ उबंटू लिनक्स पर भी काम करता है। हैंडी। –

7

निश्चित रूप से, सबसे आसान तरीका स्क्रिप्ट को नोटपैड में लोड करना है, फिर इसे यूटीएफ -8 एन्कोडिंग के साथ फिर से सहेजें। यह इस रूप में सहेजें संवाद बॉक्स में एक विकल्प है ..

+2

चीयर्स, मैं इसे एक समाधान के रूप में उपयोग कर सकते हैं, लेकिन मेरी स्क्रिप्ट इस रूपांतरण करने की जरूरत है, मैं मैन्युअल रूप से हर फ़ाइल परिवर्तित नहीं कर सकते .... – Grzenio

+0

क्योंकि यह नहीं करता है हालांकि यह वास्तव में इस सवाल का जवाब नहीं है एक स्क्रिप्ट में काम नहीं करते, यह निश्चित रूप से मेरी समस्या हल! धन्यवाद – davidreedernst

1

आप एक गहरे लाल रंग का वितरण स्थापित है, तो आप रूपांतरण की देखभाल कर रही एक लाल स्क्रिप्ट कॉल कर सकते हैं: एक ही भावना में

Ruby script to convert file(s) character encoding

: Perl script

स्क्रिप्ट समर्थन के अभाव में, आप() फोन इस C++ source एक WideCharToMultiByte का उपयोग कर की तरह यह कोड करने के लिए ...

15

रूबी के लिए एक वैकल्पिक एक लिखने के लिए किया जाएगा के लिए होता है सी # में छोटा .NET प्रोग्राम (.NET 1.0 ठीक होगा, हालांकि 2.0 आसान होगा :) - यह कोड का एक बहुत छोटा सा मामला है। क्या आप इसे किसी अन्य एप्लिकेशन के बिना करने की उम्मीद कर रहे थे? आप यह करने के लिए कोड का एक सा चाहते हैं, कोई टिप्पणी दें और मैं जवाब में भर देंगे ...

संपादित करें: ठीक है, यह त्रुटि जाँच के किसी भी प्रकार के बिना है, लेकिन ...

using System; 
using System.IO; 
using System.Text; 

class FileConverter 
{ 
    static void Main(string[] args) 
    { 
    string inputFile = args[0]; 
    string outputFile = args[1]; 
    using (StreamReader reader = new StreamReader(inputFile, Encoding.Unicode)) 
    { 
     using (StreamWriter writer = new StreamWriter(outputFile, false, Encoding.UTF8)) 
     { 
     CopyContents(reader, writer); 
     } 
    } 
    } 

    static void CopyContents(TextReader input, TextWriter output) 
    { 
    char[] buffer = new char[8192]; 
    int len; 
    while ((len = input.Read(buffer, 0, buffer.Length)) != 0) 
    { 
     output.Write(buffer, 0, len); 
    } 
    } 
} 
+0

मैं उम्मीद कर रहा था कि एक उपयोगिता है जिसका मैं उपयोग कर सकता हूं :) मैं थोड़ी सी कोड, चीयर्स के लिए आभारी रहूंगा। – Grzenio

+0

एफवाईआई, यहां उस कोड के आधार पर एक छोटी उपयोगिता है: [https://github.com/paulroho/ConvertToUtf8 ](https://github.com/paulroho/ConvertToUtf8)। – paulroho

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