Не получается сравнить 2 одинаковых текста

Remedios1422

Client
Регистрация
04.02.2017
Сообщения
69
Благодарностей
4
Баллы
8
Паршу текст с сайта, ложу в переменную. Беру этот же текст из файла. Сравниваю одинаковый текст или нет. Пишет не одинаковый. Кодировка в обоих случаях UTF-8. Пробелов или переноса строки нет. Но если брать из файла, текст почему-то более крупного размера. С чем это может быть связано?
 

Вложения

  • 2,8 КБ Просмотры: 33

copper12

Client
Регистрация
26.11.2016
Сообщения
1 111
Благодарностей
260
Баллы
63
Добрый день
Можно пример проекта, в котором парсите и сравниваете текст?
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Возможно, что в каком -то из текстов присутствуют переносы, пробелы в начале\конце текста.
Попробуйте перед сравнением обработать оба текста операцией Trim.
Так же можно попробовать посчитать кол-во символов в строках, чтобы понять по этому параметру они одинаковые или нет.
Еще могут быть различия в переносах. Т.е. в разных системах энтеры обозначаются по разному.
Возможно в текстах встречаются какие-то символы, которые мешают сравнению - к примеру кавычку. Попробуйте перед сравнением выполнить с обоими текстами подготовку JavaScript.
В общем-то таких моментов множество. Желательно иметь примеры, чтобы уже можно было от этого отталкиваться.
 

Remedios1422

Client
Регистрация
04.02.2017
Сообщения
69
Благодарностей
4
Баллы
8
Возможно, что в каком -то из текстов присутствуют переносы, пробелы в начале\конце текста.
Попробуйте перед сравнением обработать оба текста операцией Trim.
Так же можно попробовать посчитать кол-во символов в строках, чтобы понять по этому параметру они одинаковые или нет.
Еще могут быть различия в переносах. Т.е. в разных системах энтеры обозначаются по разному.
Возможно в текстах встречаются какие-то символы, которые мешают сравнению - к примеру кавычку. Попробуйте перед сравнением выполнить с обоими текстами подготовку JavaScript.
В общем-то таких моментов множество. Желательно иметь примеры, чтобы уже можно было от этого отталкиваться.
всё попробовала, ничего не помогло.

Добрый день
Можно пример проекта, в котором парсите и сравниваете текст?
Я заметила, что если в кубике Записать в файл поставить галочку возле "Дописать файл", и дописывать в пустой файл в формате UTF-8, то размер будет на 3 байта больше, чем без этой галочки. Именно при такой конфигурации пишет, что текст неодинаковый. Если без галочки, или с галочкой, но файла не существует - то файл меньше на 3 байта, и пишет, что текст из файла и в переменной одинаковые
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Я заметила, что если в кубике Записать в файл поставить галочку возле "Дописать файл", и дописывать в пустой файл в формате UTF-8, то размер будет на 3 байта больше, чем без этой галочки. Именно при такой конфигурации пишет, что текст неодинаковый. Если без галочки, или с галочкой, но файла не существует - то файл меньше на 3 байта, и пишет, что текст из файла и в переменной одинаковые
Потому что при использовании этой галочки к тексту добавляется перенос в конце строки. Соответственно эти два текста не будут уже одинаковыми.
Видимо Вы всё таки не сделали Trim или сделали его неправильно.

 

Remedios1422

Client
Регистрация
04.02.2017
Сообщения
69
Благодарностей
4
Баллы
8
Потому что при использовании этой галочки к тексту добавляется перенос в конце строки. Соответственно эти два текста не будут уже одинаковыми.
Видимо Вы всё таки не сделали Trim или сделали его неправильно.

В кубике Записать в файл 2 галочки - "Дописать файл" и "Записать перенос строки в конец" (во всяком случае на моей версии - 5.9.9.1). Я поставила только на первом варианте галочку, так что переноса строки быть не должно.

Я думаю, проблема в том, что сигнатура UTF-8 2 раза записывается. Не подскажете как можно удалить первые 3 байта файла?
 

Remedios1422

Client
Регистрация
04.02.2017
Сообщения
69
Благодарностей
4
Баллы
8
Да, файлы отличаются на 3 байта - EF BB BF

Как их можно удалить?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Да, файлы отличаются на 3 байта - EF BB BF

Как их можно удалить?
их не нужно удалять, то что пустой документ в utf-кодировке весит 3 байта, или наполненный файл в utf на 3 байта больше, чем в utf-без-bom-кодировке - это нормально..
 
Последнее редактирование:

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
  • Спасибо
Реакции: Sergodjan

Remedios1422

Client
Регистрация
04.02.2017
Сообщения
69
Благодарностей
4
Баллы
8
их не нужно удалять, то что пустой документ в utf-кодировке весит 3 байта, или наполненный файл в utf на 3 байта больше, чем в utf-без-bom-кодировке - это нормально..
в обоих случаях кодировка UTF-8 . Только в одном случае весит 100 Б, а в другом - 103 Б.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
в обоих случаях кодировка UTF-8 . Только в одном случае весит 100 Б, а в другом - 103 Б.
в любом случае проблема не здесь, зеннопостер одинаково корректно работает с любым типом кодировок - с BOM или без BOM..
 
  • Спасибо
Реакции: Dimionix

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
Добрый день
Можно пример проекта, в котором парсите и сравниваете текст?
Я заметила, что если в кубике Записать в файл поставить галочку возле "Дописать файл", и дописывать в пустой файл в формате UTF-8, то размер будет на 3 байта больше, чем без этой галочки. Именно при такой конфигурации пишет, что текст неодинаковый. Если без галочки, или с галочкой, но файла не существует - то файл меньше на 3 байта, и пишет, что текст из файла и в переменной одинаковые
Может быть Вы всё-таки пришлёте пример о котором Вас попросили ранее?
 

Вложения

  • Спасибо
Реакции: art22

Remedios1422

Client
Регистрация
04.02.2017
Сообщения
69
Благодарностей
4
Баллы
8
Может быть Вы всё-таки пришлёте пример о котором Вас попросили ранее?
Я делала немного по-другому. Текст выдёргивала из DOM до переноса строки ( <br /> ), и из файла брала первую строку.

Ваш вариант через получение значения элемента работает, спасибо.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)