Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jaki powinien być znak nowej linii w text/plain?
SmokAnalog
post 25.01.2018, 02:27:53
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. smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post 28.01.2018, 13:46:40
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ć oneeyedsmiley02.png

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 zakochany.gif

sekret.gif Można to porównać do np. języków europejskich, gdzie piwo to zarówno beer, jak i: cerveza, pivo, piwo, μπυρα, alut, öl itd. itp. W zależności od kraju, w którym się znajdujesz - chodzi o to, żeby kupić piwo, a jak to zapisać to już jest sprawa wtórna i zmartwienie spragnionego melanżownika. Pani w sklepie zrozumie smile.gif


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
SmokAnalog
post 28.01.2018, 19:00:44
Post #3





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat(darko @ 28.01.2018, 13:46:40 ) *
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.
Go to the top of the page
+Quote Post
darko
post 28.01.2018, 21:43:01
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(SmokAnalog @ 28.01.2018, 19:00:44 ) *
... 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.
Go to the top of the page
+Quote Post

Posty w temacie
- SmokAnalog   [PHP] Jaki powinien być znak nowej linii w text/plain?   25.01.2018, 02:27:53
- - trzczy   windowsowy \r\n https://www.ietf.org/rfc...   25.01.2018, 04:39:59
- - SmokAnalog   To jest standard dotyczący poczty, a nie przegląda...   25.01.2018, 13:01:07
- - trzczy   https://en.wikipedia.org/wiki/MIME HTTP go używa. ...   25.01.2018, 13:40:06
- - darko   "\r\n" Nie masz poważniejszych...   25.01.2018, 13:40:49
- - SmokAnalog   @darko rozumiem, że jesteś z tych, których zadowal...   25.01.2018, 13:48:50
|- - darko   Cytat(SmokAnalog @ 25.01.2018, 13:48...   25.01.2018, 15:31:20
- - Pyton_000   MIME jest MIME, nie ważne gdzie...   25.01.2018, 14:28:19
|- - SmokAnalog   Cytat(Pyton_000 @ 25.01.2018, 14:28:1...   25.01.2018, 14:55:41
- - trzczy   Jak szukać jakiejś bardziej konkretnej podkładki, ...   25.01.2018, 14:45:22
- - SmokAnalog   Mój „problem” polega ma tym, że intere...   25.01.2018, 15:45:15
- - darko   Dostałeś już odpowiedzi na nurtujące Cię problemy ...   25.01.2018, 15:51:48
- - SmokAnalog   Przecież o nic Cię nie pytam   25.01.2018, 15:53:47
- - Pyton_000   @darko powiem Ci że akurat @Smok na forum ma jedna...   25.01.2018, 17:30:51
- - darko   Nie twierdzę, że jest inaczej i nikogo nie traktuj...   25.01.2018, 18:01:56
- - SmokAnalog   @darko mam madzieję, że się nie obraziłeś za te zł...   25.01.2018, 18:09:26
- - darko   Do tego stopnia że wklejam Wam link do artykułu, z...   25.01.2018, 18:10:56
- - SmokAnalog   Wszystko fajnie, tylko w tym artykule nie ma odpow...   25.01.2018, 18:48:40
- - darko   Abstrahując od tego, że pytanie jest źle postawion...   28.01.2018, 13:46:40
- - SmokAnalog   Cytat(darko @ 28.01.2018, 13:46:40 ) ...   28.01.2018, 19:00:44
- - darko   Cytat(SmokAnalog @ 28.01.2018, 19:00...   28.01.2018, 21:43:01


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 21:54