Dll de conversion d'un format de fichier vers un autre : utf8 vers ansi, unicode, utf7....

Description

Cette DLL permet de convertir un fichier dans un format spécifique vers un autre fichier dans un autre format
Par défaut cette DLL comporte deux méthodes :
- UTF8_to_ANSI(file_source As String,file_destination)
- ANSI_to_UTF8(file_source As String,file_destination)

Le fait d'avoir mis ces traitements dans une DLL permet de la réutiliser dans plusieurs de mes projets en entreprise et de diffuser la DLL.
(elle est utilisé par plusieurs personnes dans mon service)

Vous pouvez bien entendu modifier le code-source afin d'adapter les différents formats d'encodage des fichiers ! (ASCII,BigEndianUnicode,Default,Unicode,UTF7,UTF8)
Vous trouverez également la liste dans le code.

Pour utiliser la dll il suffit de l'inclure dans votre projet et de l'instancier, ex :
Dim FileConverter As New CvrtFileFormat.FileConvert
FileConverter.UTF8_to_ANSI("C:\test_UTF8.txt", "C:\test_ANSI.txt")

Précision :
pout connaitre le format d'encodage d'un fichier il suffit de l'ouvrir dans le notepad et de faire "enregistrer sous", dans cette fenêtre se trouve une liste déroulante avec les différents encodage, le codage du fichier est selectionné par défaut !

Source / Exemple :


Imports System.IO 'Importation de l'espace de noms pour les fichiers

'--------------------------------------------------------------------------------------------
'Voici les différents encodages acceptés :
'System.Text.Encoding.ASCII
'                    .BigEndianUnicode
'                    .Default
'                    .Unicode
'                    .UTF7
'                    .UTF8

'Ces deux méthodes permettent par défaut de convertir de UTF8 vers ANSI et de ANSI vers UTF8,
'mais vous pouvez très bien choisir l'encodage souhaité ! (cf liste ci-dessus)
'--------------------------------------------------------------------------------------------

Public Class FileConvert

    'Méthode de conversion de UTF8 vers ANSI
    Sub UTF8_to_ANSI(ByVal file_source As String, ByVal file_destination As String)
        Dim ls_contenu As String

        Try
            'Déclaration du fichier de destination avec l'encodage souhaité, ici "default" (=ANSI)
            Dim fic_dest As New StreamWriter(file_destination, True, System.Text.Encoding.Default)
            'Déclaration du fichier source avec son encodage, ici UTF8
            Dim monStreamReader As New StreamReader(file_source, System.Text.Encoding.UTF8)
            'Lecture de tout le contenu du fichier source
            ls_contenu = monStreamReader.ReadToEnd
            'Ecriture du contenu du fichier source dans le fichier de destination 
            fic_dest.WriteLine(ls_contenu)
            'Fermeture du fichier
            fic_dest.Close()

        Catch err As Exception
            'Capture de l'erreur éventuelle
            MsgBox("Erreur : " + vbCrLf + err.ToString, MsgBoxStyle.Critical, "CvrtFileFormat.dll")
        End Try

    End Sub

    'Méthode de conversion de ANSI vers UTF8
    Sub ANSI_to_UTF8(ByVal file_source As String, ByVal file_destination As String)
        Dim ls_contenu As String

        Try
            'Déclaration du fichier de destination avec l'encodage souhaité, ici "UTF8"
            Dim fic_dest As New StreamWriter(file_destination, True, System.Text.Encoding.UTF8)
            'Déclaration du fichier source avec son encodage, ici "Default" (=ANSI")
            Dim monStreamReader As New StreamReader(file_source, System.Text.Encoding.Default)
            'Lecture de tout le contenu du fichier source
            ls_contenu = monStreamReader.ReadToEnd
            'Ecriture du contenu du fichier source dans le fichier de destination
            fic_dest.WriteLine(ls_contenu)
            'Fermeture du fichier
            fic_dest.Close()

        Catch err As Exception
            'Capture de l'erreur éventuelle
            MsgBox("Erreur : " + vbCrLf + err.ToString, MsgBoxStyle.Critical, "CvrtFileFormat.dll")
        End Try
    End Sub

End Class

Conclusion :


En esperant que ce soit utile à quelqu'un !
C'est pas bien complexe, il existe d'ailleurs certainement une autre manière de le faire, perso j'ai trouvé cette manière de faire !
Et bien sur la dll peut être amélioré, par exemple passé en paramètre l'encodage du fichier en entré et l'encodage du fichier en sortie !
N'hésitez pas à apporter vos remarques !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.