sreeCoderMan Ответов: 1

Как справиться без метки порядка байтов UTF-8 текстовый файл ручками японском языке с переводом турниров


Как справиться без метки порядка байтов UTF-8 текстовый файл ручками японском языке с переводом турниров

Привет у меня есть текстовый файл с японским иероглифом て
как я могу справиться с этим японским иероглифом с помощью преобразования MSWord?

Что я уже пробовал:

byte[] utf8Preamble = System.Text.Encoding.UTF8.GetPreamble();
     int byteLength = utf8Preamble.Length;
     byte[] theData = new byte[byteLength];
     System.IO.FileStream fs = new System.IO.FileStream(@"c:\folder\file.txt", System.IO.FileMode.Open, System.IO.FileAccess.Read);
     fs.Read(theData, 0, byteLength);
     fs.Close();

     // Process only if UTF-8 preamble does not exists
     bool utf8PreembleExists = EncodingCompare(utf8Preamble, theData);
     if (!utf8PreembleExists)
     {
        // open document
        WordDocument = Documents.OpenNoRepairDialog(FileName: paramSourceDocPath,
                    ConfirmConversions: ConfirmConversion, ReadOnly: ReadOnly,
                    OpenAndRepair: OpenAndRepair, NoEncodingDialog: NoEncodingDialog);

         // check to see if MSWord thought it was UTF8
      if (WordDocument.OpenEncoding == 
                        Microsoft.Office.Core.MsoEncoding.msoEncodingUTF8)
            {
                object SaveChanges = false;
                object RouteWB = false;
                WordDocument.Close(ref SaveChanges, ref ParamMissing, ref RouteWB);
                                

               // reopen document with desired encoding
               object Encoding = Microsoft.Office.Core.MsoEncoding.msoEncodingWestern;
               WordDocument = Documents.OpenNoRepairDialog(FileName: paramSourceDocPath,
                      ConfirmConversions: ConfirmConversion, ReadOnly: ReadOnly, Encoding: Encoding, OpenAndRepair: OpenAndRepair, NoEncodingDialog: NoEncodingDialog);
                            }
                        }

Garth J Lancaster

хорошо .. если у вас есть текстовый файл (без спецификации) с символом て, как он представлен в текстовом файле - например , с помощью инструмента шестнадцатеричного отображения или такого ?

Richard MacCutchan

Что происходит, когда вы запускаете приведенный выше код?

1 Ответов

Рейтинг:
1

Garth J Lancaster

В зависимости от того, как символ представлен байтами в файле(что мой вопрос пытался выяснить), вы можете попробовать

1) Создание нового, пустого слова doc
2) чтение текстового файла в виде байтового потока
3) Добавьте байт-поток из (2) в/как новый абзац в Word Doc