![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Stosunkowo często używam Content-Type: text/plain, głównie dla moich własnych narzędzi. Tak się zastanawiam - czy jest jakiś standard jaki powinien być znak nowej linii dla zwykłego tekstu wysyłanego do przeglądarki? Jak jeszcze byłem lamusem, używałem do tego celu PHP_EOL, co jest absolutną bzdurą, bo przecież odpowiedź do przeglądarki nie ma nic wspólnego z systemem używanym na serwerze. Teraz używam \n, ale być może jakieś standardy zalecają \r\n?
Oczywiście działa jedno i drugie. Pytam jako pedant. ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Abstrahując od tego, że pytanie jest źle postawione, ponieważ plain text wcale nie musi zawierać znaków kontrolnych, aby spełniał definicję plain-textu
Cytat It may also include a limited number of characters that control simple arrangement of text, such as line breaks or tabulation characters. [źródło:] https://en.wikipedia.org/wiki/Plain_text czyli - może, ale nie musi zawierać ![]() Zarówno sposób zapisu, jak i interpretacji tego znaku zależy od użytego standardu kodowania (znaków). I właśnie te standardy opisują, jakiej sekwencji należy użyć, aby znak nowej linii był poprawnie interpretowany. Podsumowując: nie ma jednej, jednolitej interpretacji, która obowiązuje wszędzie, natomiast są odpowiednie standardy dotyczące poprawnego kodowania znaków. Tabela reprezentacji znaków, akapit: Cytat Representations in different character encoding specifications https://en.wikipedia.org/wiki/Newline Jak widać, inaczej jest to zapisane w ASCII, inaczej w Unicode, jeszcze inaczej interpretują np. 8-bitowe Atari czy ZX Spectrum ![]() ![]() ![]() -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Abstrahując od tego, że pytanie jest źle postawione, ponieważ plain text wcale nie musi zawierać znaków kontrolnych, aby spełniał definicję plain-textu To co piszesz jest nielogiczne. Co to ma w ogóle do rzeczy, że nie musi zawierać? Pytam czy jest jakiś standard zapisu znaku nowej linii. Ktoś, kto sztywno trzyma się zasad, teoretycznie mógłby inaczej wtedy zinterpretować niewłaściwy znak nowej linii, czyli na przykład nie wyświetlić wcale przejścia do nowej linii (jeśli standard to \r\n, a my użyjemy \n) lub wyświetlić jakiś babolek (w odwrotnej sytuacji). Jeśli jest tak, że nie ma na to standardu i plain text to wolna amerykanka, to jest to odpowiedź na moje pytanie, a nie źle postawione pytanie. Jeśli pytam czy kwiaty należy podlewać wodą źródlaną czy mineralną, a odpowiedź to "obojętnie, bo obie identycznie spełnią swoje zadanie", to pytanie nie jest źle postawione. Nielogiczna jest Twoja odpowiedź, bo przeglądarka to bardzo specyficzny twór i niekoniecznie musi odzwierciedlać system, na którym siedzi. Może mieć własne, ustalone przez W3C czy innego czorta, standardy. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
... Ktoś, kto sztywno trzyma się zasad, teoretycznie mógłby inaczej ...wtedy Zasady, na które się powołujesz i o której pytasz to standardy kodowana znaków. Chodziło mi to, że standardy raczej nie opisują czegoś, co jest opcjonalne. Cytat(SmokAnalog) przeglądarka to bardzo specyficzny twór i niekoniecznie musi odzwierciedlać system, na którym siedzi. Może mieć własne, ustalone przez W3C czy innego czorta, standardy To Ty wysyłasz do przeglądarki w nagłówku content-type i charset i to Ty wymuszasz odpowiednie kodowanie, a interpretacja tego leży już po stronie przeglądarki klienta i nie powinna Cię martwić obsługa tego, bo to już od Ciebie nie zależy. Ty swoje zrobiłeś wysyłając odpowiedni charset i poprawnie kodując treść wiadomości. Ten post edytował darko 29.01.2018, 12:06:17 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 21:54 |