Hello,

I notice that readln from std.stdio has '\n' as the default line terminator. What about multiple line terminators in UTF-8 being used in one input file, such as '\n', NEL, LS, PS? And in Windows "\r\n" is a line terminator, and what if NEL, LS, PS exist in a Windows UTF-8 text file as well?

The following explains the details when reading Unicode.
https://en.wikipedia.org/wiki/Newline#Unicode

If I want to read a text file line by line, treating any one of these things as a newline, there would seem to be no canned way to do that in std.stdio .

1.) What is the best way to achieve this result in D?

It is convenient to read text files of unknown origin in this fashion. Additionally discarding the newlines however they are represented is convenient.

2.) What about reading UTF-16LE text files line by line (e.g. from Windows, with a BOM)?

Reply via email to