Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

codage ( oStream.Charset )

4 réponses
Avatar
moi
Bonjour,

Tout content de découvrir les possibilités offertes par ADODB.Stream
...
je me suis amusé à faire un premier script pour tester qq trucs de
base.

Le script prend un fichier texte codé d'une certaine façon
et en enregistre une version codée autrement...
( ce modeste script est à la fin)

Les tests semblent concluants
mais une question bête surgit : .

Le fameux "OEM" de l'interpréteur de commande ...
Je n'ai pas trouvé qqchose qui lui corresponde à
l'endroit prévu dans la base de registre :
HKEY_CLASSES_ROOT\MIME\Database\Charset ....


N'est-il pas utilisable dans ce cadre ou bien possède-t-il un autre
nom ?

même question concernant unicode BigEndian ...
Merci d'avance,

HB

############# petit script ###############

' Charsets "de base description
' °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
' iso-8859-1 -> Latin1 ?
' unicode -> unicode ...
' ??? -> Unicode BigEndian
' utf-8 -> utf8 ...
' windows-1252 -> ANSI
' ??? -> OEM
' ======================================
' Paramètres
FichierDepart = "F:\TEMP\TEST\Fichier_A.txt"
CharsetA = "unicode"

FichierResult = "F:\TEMP\TEST\Fichier_B.txt"
CharsetB = "utf-8"
' =======================================

Set oStreamA = CreateObject("ADODB.Stream")
Set oStreamB = CreateObject("ADODB.Stream")

oStreamA.Type = 2
oStreamA.Charset = CharsetA
oStreamA.Open
oStreamA.LoadFromFile FichierDepart

oStreamB.Type = 2
oStreamB.Charset = CharsetB
oStreamB.Open
oStreamA.CopyTo oStreamB
oStreamB.SaveToFile FichierResult

oStreamB.Close : oStreamA.Close

Set oStreamA = Nothing : Set oStreamB = Nothing

MsgBox " C'est (déjà) fini ... "
Wscript.Quit
############# fin du script ##################

4 réponses

Avatar
Gilles LAURENT [MVP]
"moi" wrote:

Bonjour,



Bonjour,

[...]
Les tests semblent concluants
mais une question bête surgit : .



Cette question est loin d'être bête ;-)

Le fameux "OEM" de l'interpréteur de commande ...


Charset="ibm850" <- pour Fr-fr

même question concernant unicode BigEndian ...


Charset="unicodefeff" <- l'entête Big-Endian étant FEFF

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
moi
Gilles LAURENT [MVP] wrote:
"moi" wrote:

Bonjour,



Bonjour,

[...]
Les tests semblent concluants
mais une question bête surgit : .



Cette question est loin d'être bête ;-)



merci pour tant de compassion ;o)


Le fameux "OEM" de l'interpréteur de commande





Charset="ibm850" <- pour Fr-fr

même question concernant unicode BigEndian ...


Charset="unicodefeff" <- l'entête Big-Endian étant FEFF



dans la branche de base de registre prévue à cet effet,
je n'ai ni l'un ni l'autre ;o(
( j'ai plusieurs autres ibmxxx et un unicode FFFE )

Cependant, test fait avec un fichier source venu de
echo 'texte avec plein de caractères particulier" > (cmd)
puis transformé avec CharsetA = "ibm850"
ça roule et la transformation en unicode a fonctionné...

Merci beaucoup, donc.

A+

HB
Avatar
---DGI972---
moi a écrit :

Gilles LAURENT [MVP] wrote:
"moi" wrote:

Bonjour,



Bonjour,

[...]
Les tests semblent concluants
mais une question bête surgit : .



Cette question est loin d'être bête ;-)



merci pour tant de compassion ;o)


Le fameux "OEM" de l'interpréteur de commande





Charset="ibm850" <- pour Fr-fr

même question concernant unicode BigEndian ...


Charset="unicodefeff" <- l'entête Big-Endian étant FEFF



dans la branche de base de registre prévue à cet effet,
je n'ai ni l'un ni l'autre ;o(
( j'ai plusieurs autres ibmxxx et un unicode FFFE )

Cependant, test fait avec un fichier source venu de
echo 'texte avec plein de caractères particulier" > (cmd)
puis transformé avec CharsetA = "ibm850"
ça roule et la transformation en unicode a fonctionné...

Merci beaucoup, donc.

A+

HB



Bonjour,

Je suis très intéressé par votre sujet.

Je peux dire une connerie ?
Comment faite vous pour savoir de quel façon est codé un fichier et
avec quel outils ?

J'ai un fichier que je dois mettre en ainsi mais je ne sais pas comment
il est codé au départ alors, je l'ouvre avec notepad et je fais
enregistrer sous codage ainsi puis aprés je peux commencer a travaillé
a l'intérieur en insérant des caractères spéciaux genre ^| et ^m(saut
de ligne et saut de page dans word).
C'est immonde comme travail et je suis détesté de mes collègues et en
lisant votre sujet je reprends un peu espoir d'automatiser cette
transformation de fichier.

dgi972
Avatar
Gilles LAURENT [MVP]
"moi" a écrit dans le message de
news:
| Bonjour,

Bonjour,

[...]
| et là si notepad reconnait le format il le propose ...
|
| Comme il ne peut pas rien proposer,
| je crois qu'il propose "unicode" par défaut mais c'est à vérifier...

Si le fichier à ouvrir ne comporte pas de BOM alors l'éditeur de texte
Notepad fait appel à l'API Win32 IsTextUnicode pour déterminer le format
du fichier (ANSI ou Unicode).

IsTextUnicode :
http://msdn.microsoft.com/en-us/library/ms776445(VS.85).aspx

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr