В C # следующий код работает для меня.Я хотел попробовать это, чтобы подтвердить мои результаты ниже:
public void Convert()
{
using (TextReader input = new StreamReader(
new FileStream("shift-jis.txt", FileMode.Open),
Encoding.GetEncoding("shift-jis")))
{
using (TextWriter output = new StreamWriter(
new FileStream("utf8.txt", FileMode.Create), Encoding.UTF8))
{
var buffer = new char[512];
int len;
while ((len = input.Read(buffer, 0, 512)) > 0)
{
output.Write(buffer, 0, len);
}
}
}
}
Здесь показан файл, закодированный в shift-jis (или SJIS / Shift_JIS , они одинаковы), используя JEdit для проверки кодировки (слово в файле - японский текст テ ス ト, означающий test ):
После запуска кода и открытия файла, записанного в ( utf8.txt ):
Но следует сказать, что такое преобразование файлов не требует строго знаниялюбой язык.