Как предположить кодирование файла без BOM в.NET?

Может быть любая из следующих причин:

  1. Это происходит, когда вы подписываетесь на BehaviorSubject в блоке кода, который выполняется несколько раз. Пример, если вы подписываетесь в хуке жизненного цикла ngAfterViewChecked углового компонента, который выполняется несколько раз.
  2. Вы никогда не отписывались, но каждый раз, когда приложение загружает компонент, подписывайтесь на тему своего поведения.
  3. Подписчик BehaviorSubject всегда выполняется по крайней мере один раз, потому что BehaviorSubject требует аргумента по умолчанию при создании и выдает переданный аргумент по умолчанию по крайней мере один раз, если вы вызываете метод .next () только один раз в экземпляре BehaviorSubject, Subscriber будет выполняться дважды , Первый раз для значения по умолчанию, переданного при создании экземпляра BehaviorSubject, второй раз для значения, которое вы передали, вызвав метод .next на экземпляре BehaviorSubject.

Я ответил на ваш вопрос?

Если нет, предоставьте фрагмент кода, чтобы мы могли лучше понять проблему.

6
задан Community 23 May 2017 в 11:48
поделиться

6 ответов

Я использовал это, чтобы сделать что-то подобное некоторое время назад:

http://www.conceptdevelopment.net/Localization/NCharDet/

0
ответ дан 8 December 2019 в 18:41
поделиться

Используйте IsTextUnicode Win32.

В общем смысле это - трудный promlem. См.: http://blogs.msdn.com/oldnewthing/archive/2007/04/17/2158334.aspx.

0
ответ дан 8 December 2019 в 18:41
поделиться

UTF-8 разработан способом, что ему вряд ли закодируют текст в произвольном 8bit-кодировании как latin1, декодируемый к надлежащему unicode, использующему UTF-8.

Таким образом, минимальный подход - это (псевдокод, я не говорю.NET):

попытка: u = some_text.decode ("UTF-8") кроме UnicodeDecodeError: u = some_text.decode ("наиболее вероятное кодирование")

Для наиболее вероятного кодирования каждый обычно использует, например, latin1 или cp1252 или что бы то ни было. Более сложные подходы могли бы попробовать и найти соединения определенного знака языка, но я не знаю о чем-то, что делает это как библиотеку или некоторых такой.

0
ответ дан 8 December 2019 в 18:41
поделиться

Необходимо прочитать эту статью Raymond Chen. Он вдается в подробности о том, как программы могут предположить то, что кодирование (и часть забавы, которая прибывает из предположения),

http://blogs.msdn.com/oldnewthing/archive/2004/03/24/95235.aspx

4
ответ дан 8 December 2019 в 18:41
поделиться

hacky техника могла бы быть должна взять MD5 текста, затем декодировать текст и повторно закодировать его в различной кодировке, MD5'ing каждый. Если Вы соответствуете Вам, предполагают, что это - то кодирование.

Это, очевидно, слишком медленно для чего-то, что обрабатывает много файлов, но для чего-то как текстовый редактор я видел, что он работал.

Кроме этого, это будут руки грязное портирование библиотек Java из этого сообщения, которое прибыло из Delphi ТАК вопрос или использование функции IE MLang.

0
ответ дан 8 December 2019 в 18:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: