Ascii <> Unicode <> Utf8
Publié : mar. 10/nov./2009 18:29
Un petit code pour transformer un fichier texte en Unicode
Un fichier texte en UTF8
Et enfin, en ASCII
Ils sont tous sur le même principe, votre fichier texte dois avoir un indicateur de format en début de fichier (voir l'aide sur ReadStringFormat(), WriteStringFormat() )
l'intérêt ?
J'ai passer un code en mode Unicode, donc j'ai du traduire mes fichiers annexe de ASCII vers Unicode. Donc ça sert à ça.
L'UTF8 sert pour les fichier de préférence ( voir CreatePreferences() ) quand le code en en mode Unicode (vous pouvez utiliser le ASCII ou l'UTF8 mais pas l'Unicode sur les fichiers de préférences)
Code : Tout sélectionner
Procedure Analyse(Fichier.s)
Debug Fichier
NewList Ligne.s()
If ReadFile(0, Fichier)
Format = ReadStringFormat(0)
Repeat
AddElement(Ligne())
Ligne() = ReadString(0, Format)
Until Eof(0)
CloseFile(0)
If CreateFile(0, Fichier)
WriteStringFormat(0, #PB_Unicode)
ForEach Ligne()
If ListIndex(Ligne()) = ListSize(Ligne()) - 1
WriteString(0, Ligne(), #PB_Unicode)
Else
WriteStringN(0, Ligne(), #PB_Unicode)
EndIf
Next
CloseFile(0)
EndIf
EndIf
EndProcedure
Fichier.s = OpenFileRequester("Ascii Unicode", GetCurrentDirectory(), "Tous les fichiers|*.*", 0, #PB_Requester_MultiSelection)
While Fichier
Analyse(Fichier)
Fichier = NextSelectedFileName()
Wend
Code : Tout sélectionner
Procedure Analyse(Fichier.s)
Debug Fichier
NewList Ligne.s()
If ReadFile(0, Fichier)
Format = ReadStringFormat(0)
Repeat
AddElement(Ligne())
Ligne() = ReadString(0, Format)
Until Eof(0)
CloseFile(0)
If CreateFile(0, Fichier)
WriteStringFormat(0, #PB_UTF8)
ForEach Ligne()
If ListIndex(Ligne()) = ListSize(Ligne()) - 1
WriteString(0, Ligne(), #PB_UTF8)
Else
WriteStringN(0, Ligne(), #PB_UTF8)
EndIf
Next
CloseFile(0)
EndIf
EndIf
EndProcedure
Fichier.s = OpenFileRequester("Ascii Unicode", GetCurrentDirectory(), "Tous les fichiers|*.*", 0, #PB_Requester_MultiSelection)
While Fichier
Analyse(Fichier)
Fichier = NextSelectedFileName()
Wend
Code : Tout sélectionner
Procedure Analyse(Fichier.s)
Debug Fichier
NewList Ligne.s()
If ReadFile(0, Fichier)
Format = ReadStringFormat(0)
Repeat
AddElement(Ligne())
Ligne() = ReadString(0, Format)
Until Eof(0)
CloseFile(0)
If CreateFile(0, Fichier)
; WriteStringFormat(0, #PB_Unicode)
ForEach Ligne()
If ListIndex(Ligne()) = ListSize(Ligne()) - 1
WriteString(0, Ligne(), #PB_Ascii)
Else
WriteStringN(0, Ligne(), #PB_Ascii)
EndIf
Next
CloseFile(0)
EndIf
EndIf
EndProcedure
Fichier.s = OpenFileRequester("Ascii Unicode", GetCurrentDirectory(), "Tous les fichiers|*.*", 0, #PB_Requester_MultiSelection)
While Fichier
Analyse(Fichier)
Fichier = NextSelectedFileName()
Wend
l'intérêt ?
J'ai passer un code en mode Unicode, donc j'ai du traduire mes fichiers annexe de ASCII vers Unicode. Donc ça sert à ça.
L'UTF8 sert pour les fichier de préférence ( voir CreatePreferences() ) quand le code en en mode Unicode (vous pouvez utiliser le ASCII ou l'UTF8 mais pas l'Unicode sur les fichiers de préférences)