Для чего используется символ Unicode 2028 (LS / Line Separator)? - PullRequest
31 голосов
/ 18 июня 2010

Я подумал, что проблема разрыва строки должна быть кем-то решена, но, возможно, не получила широкого распространения.Будучи дальновидным, я отправился на поиски, чтобы увидеть, существует ли независимый от платформы метод Unicode для разделения строк.В моем поиске я обнаружил символ юникода 2028. Затем я нашел пост Джеффа Этвудса на эту тему , в котором он упоминает, что он "... не уверен, при каких обстоятельствах вы хотели бы эти маркеры новой строки Юникода".*

Ну, я тоже.Я немного покопался в исходном коде C #, и похоже, что LS (x2028) не поддерживается TextReader.ReadLine (), а также не поддерживается в BufferedReader.ReadLine (Java).Итак, я пришел к выводу, что это не поддерживается широко.

Я бы хотел иметь светлое будущее, где я мог бы писать файлы, используя один формат в Linux, MacOS и Windows.У этого маленького персонажа есть обещание?Для чего он используется в настоящее время?

1 Ответ

9 голосов
/ 22 июня 2010

Получено из комментария МакДауэлла на той же странице и косвенно из документа Юникода :

Традиционно NLF начиналсяв качестве разделителя строк (а иногда и разделителя записей).Он по-прежнему используется в качестве разделителя строк в простых текстовых редакторах, таких как программные редакторы.Поскольку платформы и программы начали обрабатывать текст с помощью автоматического переноса строк, эти символы были переосмыслены для обозначения разделителей абзацев.Например, даже такие простые программы, как программа Windows Notepad и программа Mac SimpleText, интерпретируют NLF своей платформы как разделитель абзацев, а не разделитель строк.

NLF (функция новой строки) в этом контекстесокращение для CR, LF и CRLF.Напротив, два символа Unicode имеют однозначное использование.

...