[R] Fichier texte et CR LF

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

[R] Fichier texte et CR LF

#1

Message 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.
Modifié en dernier par DimVar le sam. 15 mars 2014 17:51, modifié 1 fois.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Fichier texte et CR LF

#2

Message 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)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Fichier texte et CR LF

#3

Message 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:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Fichier texte et CR LF

#4

Message par mikell »

Pour une fois... :mrgreen:
Il y a aussi (je crois) l'option de Scite 'Convert Line End Characters'
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Fichier texte et CR LF

#5

Message 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:
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Répondre