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

codepage 437

15 réponses
Avatar
moi
Bonsoir,

J'ai besoin de faire une moulinette
qui encode un fichier texte utf8 "standard"
en codepage 437...
Cela me serait fort utile
mais je n'ai aucune idée de la façon de procéder ...

La seule chose que je sais
et qui ne m'est pas d'une grande utilité
c'est que les linuxiens peuvent le faire
en utilisant la commande suivante :

iconv -f utf-8 -t cp437 < input > output

avec ça je ne suis pas tellement avancé ...
car cet idiome m'est inconnu.


Un moulinette polyvalente
capable de s'exécuter sur une station XP ( voire W98 )
ou un serveur 2003 serait la bienvenue...
J'ai donc (sottement) pensé au vbs ...

Merci d'avance pour vos suggestions...

Amicalement,

HB

10 réponses

1 2
Avatar
Scro-gneu-gneu
Bonsoir !


Le petit script Python suivant fera l'affaire :

import sys
txtsrc=open(sys.argv[1],'r').read()
txtdest=txtsrc.decode('utf-8').encode('cp437','replace')
open(sys.argv[2],'w').write(txtdest)

utilisation :
conv.py ficutf8.txt fic437.txt





--
@-salutations

Michel Claveau
Avatar
moi
Notre ami Scro-gneu-gneu tapota :

Bonsoir !


Le petit script Python suivant fera l'affaire :

import sys
txtsrc=open(sys.argv[1],'r').read()
txtdest=txtsrc.decode('utf-8').encode('cp437','replace')
open(sys.argv[2],'w').write(txtdest)

utilisation :
conv.py ficutf8.txt fic437.txt


merci pour ce petit script .

J'espérait qqchose de plus "portable"
pour ne pas avoir à demander l'install de Python partout.

En plus, je viens de constater que windows
fait du utf8 non standard ( entête parasite)
et je vais donc me rabattre sur
cp1252 ( ansi windows ) vers cp 437

c'est pour éditer sous windows des menus qui servirons avec pxelinux
...
et je désire que "nos" lettres accentuées s'affichent correctement
sans perdre les caractères graphiques utilisés pour les bordures de
tableau.
( contrainte incontournable ...)

J'ai vu sur le site de notre gourou Jean-Claude B. le script
ansi2oem.vbs
j'espérais trouver un truc équivalent ...

A+

HB

Avatar
M.Claveau
Bonsoir !

utf8 non standard ( entête parasite)


Heu... Es-tu sûr ?

Un fichier unicode est réputé codé en UTF-8, si aucun en-tête n'est
indiqué (c'est donc la valeur par défaut), mais l'en-tête UTF-8 existe
bien (EF BB BF).

Sinon, sous nos contrée windows utilise, normalement, UTF-16, lorsqu'il
a besoin d'Unicode.

Enfin, le code-page par défaut n'est pas cp1252, mais cp850.
Cela est vérifiable, avec la commande CHCP [Entrée]

La même commande permet de changer le code-page.








--
@-salutations

Michel Claveau

Avatar
moi
Notre ami M.Claveau tapota :

Bonsoir !

utf8 non standard ( entête parasite)


Heu... Es-tu sûr ?

Un fichier unicode est réputé codé en UTF-8, si aucun en-tête n'est
indiqué (c'est donc la valeur par défaut), mais l'en-tête UTF-8
existe
bien (EF BB BF).


Je suis loin d'être un spécialiste de ces vastes problèmes de
codepage...
Mais d'après certains sites visités, l'entête "EF BB BF" est hors
standard et propre aux éditeur MS ( dont notepad)
D'ailleurs, en sauvant en utf8 avec notepad pour un menu géré via
pxelinux, j'ai obtenu une erreur.
En supprimant l'entête, tout est rentré dans l'ordre.


Enfin, le code-page par défaut n'est pas cp1252, mais cp850.
Cela est vérifiable, avec la commande CHCP [Entrée]


Si j'ai bien compris :
ce que windows nomme ANSI est CP1252 ( latin I)
et le fameux OEM de microsoft est CP850 ( Multilingual Latin I)

...

Donc pour résumer mon soucis :

il me serait agréable de pouvoir éditer posément
mes menus pour pxelinux
avec un notepad amélioré capable de sauver en CP437
puisque cette page de code possède deux avantages rares :
Les caractères accentuées dont on a besoin sont là
Les caractères graphiques pour bordures de tableau aussi
et les positions utilisées sont compatibles
avec ce que fait par défaut le menu de pxelinux...

Cet éditeur miracle restant visiblement à faire,
il me semblait au moins envisageable d'utiliser
un script analoque au Ansi2Oem de JCB.
Peut-être même suffit-il de peu de choses à modifier
pour en faire un Ansi2cp437
mais mes connaissances concernant ces histoire de codepage
sont plus qu'insuffisantes ...

Dernière remarque :
Je me tourne vers pxelinux car 3Com a annoncé
la mort de "mba.pxe" et de "imagedit.exe"...
et en plus pxelinux semble fort bien fonctionner
et reste très facile à mettre en oeuvre sur 2003Serveur.


Bien cordialement,

HB


Avatar
Jean

Merci d'avance pour vos suggestions...



L'objet OlePrn.OleCvt (sous windows 2000, XP et Vista) pourra peut être
aider (à combiner avec FSO).

Set CVT=CreateObject("OlePrn.OleCvt")

'propriétés
chaine=CVT.ToUTF8(texte)
chaine=CVT.ToUnicode(texte,pagecode)
chaine=CVT.DecodeUnicodeName(texte)
chaine=CVT.EncodeUnicodeName(texte)

(pour exemple ToUnicode et manipulation du codepage cf
http://groups.google.com/group/microsoft.public.fr.scripting/msg/dd377b6e6dfdedda?hl=fr
)


Amicalement,

--
Jean - JMST
Belgium

Avatar
Méta-MCI
Bonjour !

Que fais-tu là ? (et pas fais-tu lance, hein !)
Ne devrais-tu pas être en train de tester le couple MN/Vista ?

@+
**
MCI
Avatar
Fred
Dans : news:,
moi disait :

Donc pour résumer mon soucis :

il me serait agréable de pouvoir éditer posément
mes menus pour pxelinux
avec un notepad amélioré capable de sauver en CP437


Il s'agit donc de trouver un éditeur capable de sauver en CP437 ?

Cela doit se trouver sur le Net.

Sinon, Visual Studio sait le faire et donc, je suppose, également les
versions gratuites téléchargeables chez MS (VB Express, C# Express).
Mais je dis cela à titre d'exemple car c'est prendre un bazooka pour
tuer une mouche :-)

Et pourquoi pas ce bon vieux edit.com ?


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)

Avatar
Jean
Bonjour !

Que fais-tu là ? (et pas fais-tu lance, hein !)
Ne devrais-tu pas être en train de tester le couple MN/Vista ?

@+
**
MCI


Damned !
Je suis fait.

Amicalement,

--
Jean - JMST
Belgium

Avatar
Méta-MCI
Et pourquoi pas ce bon vieux edit.com ?


ou ce super-bon très vieux EDLIN...

Avatar
moi
Notre ami Jean tapota :

Merci d'avance pour vos suggestions...



L'objet OlePrn.OleCvt (sous windows 2000, XP et Vista) pourra peut
être aider (à combiner avec FSO).



Bonsoir,

je viens de regarder les possibilité de cet objet.
En fait il n'est pas prévu pour transformer pour ça...

mais je note tout de même son existence car
"ça peut servir" ;o)

A+

HB


1 2