Application C# console permettant la détection de l'encodage d'un fichier texte, ainsi que de son mode de retour à la ligne (end of line char). L'application intègre des options de ré-encodage vers un encodage cible.
|
2 years ago | |
---|---|---|
DetectEncoding | 2 years ago | |
packages | 3 years ago | |
.gitignore | 3 years ago | |
DetectEncoding.sln | 3 years ago | |
DetectEncoding.sln.DotSettings.user | 3 years ago | |
DetectEncoding.v12.suo | 2 years ago | |
README.md | 2 years ago |
Encoding Detector est une application console pour Windows 7/8/10. Elle fonctionne avec le .Net Framework 4.0. Cette application permet la détection de l'encodage d'un fichier texte (ASCII, ANSI, UTF8, UTF16) ainsi que du caractère de fin de ligne (style UNIX ou DOS). Elle peut également effectuer un ré-encodage vers un fichier cible.
Encoding Detector utilise deux références tierces pour fonctionner :
f8d9b7a
on 28 Jul 2016)Encoding Detector fonctionne comme une application console, c'est-à-dire via un shell Windows (invite de commandes ou PowerShell).
DetectEncoding.exe -f fichier
[-c UTF8_BOM|UTF8_NOBOM|ANSI|UTF16LE|UTF16BE|UTF16LE_NOBOM|UTF16BE_NOBOM|ASCII] [-e DOS|UNIX] [-o cibleConversion]
Obligatoire
Option : -f ou --file
Description : Indique le chemin du fichier pour lequel il faut déterminer l'encodage et le caractère de fin de ligne.
Option : -c ou --convert-to
Description : Spécifie l'encodage cible désiré.
Choix : UTF8_BOM, UTF8_NOBOM, ANSI, UTF16LE, UTF16BE, UTF16LE_NOBOM, UTF16BE_NOBOM, ASCII
Option : -e ou --end-of-line-to
Description : Spécifie le caractère de fin ligne cible désiré.
Choix :
DOS : pour un caractère de fin de ligne \r\n. Utilisé dans les produits Microsoft (DOS, Windows)
UNIX : pour un caractère de fin de ligne \n.
MACOS : pour un caractère de fin de ligne \r.
Option : -o ou --output-file
Description : Nom désiré du fichier converti.
Si une des options -e ou -c est utilisée, et que -o est omis, le fichier en sortie aura le même nom que le fichier en entrée, suffixé avec "Out". Si la valeur "SAME_AS_INPUT" est indiquée pour -o, alors le nom du fichier en sortie sera le même que celui en entrée : le fichier en entrée sera remplacé par sa conversion.
Attention : aucune sauvegarde du fichier en entrée n'est effectuée.
Option : -s ou --silence-level
Description :
Permet de régler le nombre d'éléments affichés dans la console. Selon 3 niveaux :
Option : -p ou --output-pattern
Description :
Permet d'effectuer un formatage personnalisé sur la sortie, c'est-à-dire sur ce que le programme renvoi.
La chaine de sortie est personnalisable. Les variables de modèle ci-dessous seront substituées :
Remarque :
Les options -s et -p sont mutuellement exclusives. Elles ne peuvent pas être utilisée en même temps.
La conversion de l'encodage et du caractère de fin de ligne ne s'effectue que lorsque l'encodage du fichier à traiter à réussi. Si pour une raison ou une autre l'encodage du fichier source n'est pas détecté, la conversion ne sera pas effectuée.
Si l'option "o" n'est pas indiqué, le fichier converti sera sous la forme :
NomDuFichierSource-Out.ExtensionDuFichierSource
Le résultat des traitements effectués par le programme est notifié via son code de sorti.
Voici les codes de sorti possibles :
Commande :
DetectEncoding.exe -f .\fileTest.sql
Sortie écran :
Encoding Detector with reencoding !
===================================
by Aryx - Wolfaryx informatique - 2018
Encoding detection based on work from AutoIt Consulting :
https://github.com/AutoItConsulting/text-encoding-detect
InputFile: C:\Users\ARyx\fileTest.sql
Encoding: Ansi; Unix
Ici, l'encodage du fichier fileTest.sql est détecté comme de l'Ansi. Son caractère de fin de ligne est "\n", de type Unix.
Commande :
DetectEncoding.exe -f .\fileTest.sql -c UTF8_BOM -e DOS
Sortie écran :
Encoding Detector with reencoding !
===================================
by Aryx - Wolfaryx informatique - 2018
Encoding detection based on work from AutoIt Consulting :
https://github.com/AutoItConsulting/text-encoding-detect
InputFile: C:\Users\ARyx\fileTest.sql
Encoding: Ansi; Unix
Output : Encoding: UTF8_BOM; DOS
Ici, l'encodage du fichier fileTest.sql est détecté comme étant de l'ANSI. Son caractère de fin de ligne est "\n", de type Unix. Le fichier de sorti sera encodé en UTF8 avec BOM, et avec un caractère de fin de ligne "\r\n".
Commande :
DetectEncoding.exe -f .\fileTest.sql -c UTF8_BOM -e DOS -s 1
Sortie écran :
InputFile: C:\Users\ARyx\fileTest.sql
Encoding: Ansi; Unix
Output : Encoding: UTF8_BOM; DOS
Ici, le résultat de cet exemple est similaire à celui de l'exemple 2. Seul change, l'ajout de l'option s 1. Le texte de présentation de l'application n'est plus affiché.
Commande :
DetectEncoding.exe -f .\file-ANSI-Test.txt -c UTF8_BOM -e DOS -s 1 -p "[WITH_REENC]([EXIT_CODE]) - [IN_ENC] vers [OUT_ENC]:[OUT_EOL]"
Sortie écran :
true(1) - ANSI vers UTF8_BOM:DOS
La sortie standard du programme est formattée selon le modèle indiqué avec l'option -p.