Если вы заметили, что, начиная с chr(10)
, он остается прежним и проходит проверку на утверждение.
Таким образом, реальный вопрос заключается в том, почему chr(13)
заменяется на chr(10)
?Чтобы ответить на этот вопрос, мы должны посмотреть, что на самом деле представляет каждый из этих символов.chr(13)
- это символ возврата каретки, а chr(10)
- это символ перевода строки.
Вы упомянули, что используете Linux.Linux, использующий модель Unix, использует символ перевода строки и не использует символ возврата каретки в своих файлах.Поэтому при записи символа CR
в файл система переводит его в символ LF
, используемый системой.Затем вы читаете файл (с переведенным символом) и, таким образом, не подтверждаете свое утверждение.
Вот хороший пост о различиях в типах возвратов.