質問

UTF-16ファイルをUTF-8に変換する最良の方法は何ですか?これをcmdスクリプトで使用する必要があります。

役に立ちましたか?

解決

GNUツール recode があり、Windowsでも使用できます。 例:

recode utf16..utf8 text.txt

他のヒント

Rubyに代わる方法は、C#で小さな.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);
    }
  }
}

確かに、最も簡単な方法は、スクリプトをメモ帳に読み込んでから、UTF-8エンコードで再度保存することです。 [名前を付けて保存]ダイアログボックスのオプションです。

Ruby ディストリビューションがインストールされている場合は、変換を処理する Ruby スクリプトを呼び出すことができます。

ファイルの文字エンコーディングを変換する Ruby スクリプト

同じ精神で: Perlスクリプト

スクリプトのサポートがない場合は、次のようにコード化する必要があります。 C++ソース WideCharToMultiByte() 呼び出しを使用して...

組み込みのPowerShellコマンドレットを使用して、これを簡単に実行できます。これは、cmdから呼び出すことができます。

C:\> powershell -c "Get-Content mytext.txt | Set-Content -Encoding utf8 mytext_utf8.txt"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top