Page 1 sur 1

[R] Fichier texte et CR LF

Posté : sam. 15 mars 2014 07:56
par DimVar
Bonjour à tous,


J'ai un film avec un .SRT (fichier de sous titre).
Ce SRT, quand je l'ouvre avec notepad, se presente comme suit :

Code : Tout sélectionner

1
00:00:36,840 --> 00:00:40,440
Belgique. 
Le champ de bataille de l’Europe. 
2
00:00:40,600 --> 00:00:45,640
C’est là que Napoléon connaitra la défaite en 1815.
etc...
 
De fait, les sous titres sont mal interprété par VLC.
Si j'ouvre un autre SRT (qui fonctionne avec VLC), je remarque que chaque ligne qui précède le numéro de ligne est une ligne vide :

Code : Tout sélectionner

1
00:00:36,840 --> 00:00:40,440
Belgique. 
Le champ de bataille de l’Europe. 

2
00:00:40,600 --> 00:00:45,640
C’est là que Napoléon connaitra la défaite en 1815.
etc...
 
Lorsque j'ouvre le srt "corrompu" dans scite, je vois pourtant une ligne vide avant chaque numéro de ligne ?!?!?

Qqun aurait il une explication ?

Je précise que je ne maitrise pas les notions de fichiers texte, ascii et autres CR LF que l'on ne voit pas avec les éditeurs texte basique.


Merci à vous.

Cdlt.

Re: [..] Fichier texte et CR LF

Posté : sam. 15 mars 2014 09:28
par mikell
Il y a probablement des LF au lieu de CRLF
Faudrait essayer StringReplace($srt, @LF, @CRLF) pour voir
ou StringRegExpReplace($srt, '\R', @CRLF)

Re: [..] Fichier texte et CR LF

Posté : sam. 15 mars 2014 09:35
par jguinch
Chaque éditeur de texte interprète à sa manière les sauts de ligne.
Le Notepad de Windows considère qu'un saut de ligne correspond à @CRLF, alors que Scite ou Notepad++ par exemple, sont capables d'associer @LF ou @CR à des sauts de ligne.
Tout dépend de la façon dont à été créé le fichier.
Historiquement, ce sont les différents systèmes d'exploitation qui ont leur propre façon de faire : @CR + @LF pour Windows, @LF pour Unix, @CR pour Mac, ...
http://en.wikipedia.org/wiki/Newline

Donc ton fichier, il y a certainement des @CR + @LF et des @LF mélangés...

Dans ce cas, il suffit de remplacer les @LF ou @CR seuls par @CRLF. Pour ça, un petit script sera sympa si tu as plusieurs fichiers.
Sinon, perso, j'utilise Notepad++, qui permet de faire le remplacement simplement (Edition > Convertir les sauts de ligne > Convertir en Format Windows)

[Edit] Grillé par Mikell :cry:

Re: [..] Fichier texte et CR LF

Posté : sam. 15 mars 2014 12:42
par mikell
Pour une fois... :mrgreen:
Il y a aussi (je crois) l'option de Scite 'Convert Line End Characters'

Re: [..] Fichier texte et CR LF

Posté : sam. 15 mars 2014 17:50
par DimVar
Ok merci pour toutes ces pistes.
J'ai résolu dans Scite en passant par le menu fichier / Encoding / UTF8
Et là j'ai sauvegardé, et hop, un beau SRT tout propre !

Bon WE.
:wink: