Что с ZipInputStream Руби испортить мои окончания строки? - PullRequest
2 голосов
/ 13 февраля 2009

Я был бы счастлив, если бы ZipInputStream взял неприличную свободу с окончаниями строк, которые хранятся в файле, если он хотя бы получит их правильно для платформы, на которой я храню файл. К сожалению, я вытаскиваю текстовый файл (.txt, .cpp. .Etc.) Из почтового индекса, и \ n (0x0A) заменяется на \ r \ n (0x0d0a), и, как вы можете себе представить, это вызывает У меня много проблем.

Есть ли флаг, который я могу установить, чтобы он либо вообще не менял окончания строк, либо использовал один из моих вариантов?

Спасибо.

(Я проверил zip-файл, создал его и т. Д. Я извлек его с помощью других zip-инструментов и проверил, что он правильно заархивирован. Я прошел через свой проект с помощью rdebug и увидел, что ZipInputStream вызов read () возвращает \ r \ n для окончания строки.)

1 Ответ

0 голосов
/ 21 декабря 2011

если в вашем коде есть вызов open(filename) или open(filename,"r"), попробуйте заменить его на open(filename,"rb")

...