Ben j'ai récupérer un fichier où certaine partie sont codé en hexadécimal.Je voudrais faire la conversion pour récupérer le bon texte. "Pierre Goiffon" a écrit dans le message de news:460a70d0$0$7762$
nabil kasmi wrote:
je souhaite avoir une fonction javascript qui convertit les hexa en texte :
Ben j'ai récupérer un fichier où certaine partie sont codé en hexadécimal.Je
voudrais faire la conversion pour récupérer le bon texte.
"Pierre Goiffon" <pgoiffon@free.fr.invalid> a écrit dans le message de
news:460a70d0$0$7762$426a74cc@news.free.fr...
nabil kasmi wrote:
je souhaite avoir une fonction javascript qui convertit les hexa en
texte :
Ben j'ai récupérer un fichier où certaine partie sont codé en hexadécimal.Je voudrais faire la conversion pour récupérer le bon texte. "Pierre Goiffon" a écrit dans le message de news:460a70d0$0$7762$
nabil kasmi wrote:
je souhaite avoir une fonction javascript qui convertit les hexa en texte :
en "Papeterie". Oulla ?!?? Quel est donc le besoin ??
Ben j'ai récupérer un fichier où certaine partie sont codé en hexadécimal.Je voudrais faire la conversion pour récupérer le bon texte.
Vous pouvez réaliser la conversion en batch avec Tidy je pense...
Merci de prendre attention à quoter convenablement ! Voyez ce guide : http://www.faqs.org/faqs/fr/usenet/repondre-sur-usenet/
nabil kasmi
Oui je pense aussi que ça peut marcher mais moi je voudrais le faire moi-même via le javascript. une methode ou une fonction javascript devrais exister.
"Pierre Goiffon" a écrit dans le message de news:460a8152$0$27784$
nabil kasmi wrote:
je souhaite avoir une fonction javascript qui convertit les hexa en texte :
en "Papeterie". Oulla ?!?? Quel est donc le besoin ??
Ben j'ai récupérer un fichier où certaine partie sont codé en hexadécimal.Je
voudrais faire la conversion pour récupérer le bon texte.
Vous pouvez réaliser la conversion en batch avec Tidy je pense...
Merci de prendre attention à quoter convenablement ! Voyez ce guide : http://www.faqs.org/faqs/fr/usenet/repondre-sur-usenet/
Oui je pense aussi que ça peut marcher mais moi je voudrais le faire
moi-même via le javascript.
une methode ou une fonction javascript devrais exister.
"Pierre Goiffon" <pgoiffon@free.fr.invalid> a écrit dans le message de
news:460a8152$0$27784$426a74cc@news.free.fr...
nabil kasmi wrote:
je souhaite avoir une fonction javascript qui convertit les hexa en
texte :
Oui je pense aussi que ça peut marcher mais moi je voudrais le faire moi-même via le javascript. une methode ou une fonction javascript devrais exister.
"Pierre Goiffon" a écrit dans le message de news:460a8152$0$27784$
nabil kasmi wrote:
je souhaite avoir une fonction javascript qui convertit les hexa en texte :
Note: les séquences d'escape HTML4 supportées sont celles d'ISO-8859-1; les séquences d'escape unicode d'ECMAScript se réfèrent à Unicode; comme (IIRC) ISO 8859-1 est un sous-ensemble parfait d'Unicode, la traduction de texte HTML valide ne devrait donc pas poser de problème. En revanche, la fonction traduira également des codes caractères non présents dans ISO 8859-1, mais bien présents dans Unicode. A vous de voir si cela constitue un problème pour votre application, en fonction des entrées attendues et de votre stratégie de gestion d'erreurs.
HTH, Elegie.
nabil kasmi wrote:
Bonjour,
je souhaite avoir une fonction javascript qui convertit les hexa en texte :
Note: les séquences d'escape HTML4 supportées sont celles d'ISO-8859-1;
les séquences d'escape unicode d'ECMAScript se réfèrent à Unicode; comme
(IIRC) ISO 8859-1 est un sous-ensemble parfait d'Unicode, la traduction
de texte HTML valide ne devrait donc pas poser de problème. En revanche,
la fonction traduira également des codes caractères non présents dans
ISO 8859-1, mais bien présents dans Unicode. A vous de voir si cela
constitue un problème pour votre application, en fonction des entrées
attendues et de votre stratégie de gestion d'erreurs.
Note: les séquences d'escape HTML4 supportées sont celles d'ISO-8859-1; les séquences d'escape unicode d'ECMAScript se réfèrent à Unicode; comme (IIRC) ISO 8859-1 est un sous-ensemble parfait d'Unicode, la traduction de texte HTML valide ne devrait donc pas poser de problème. En revanche, la fonction traduira également des codes caractères non présents dans ISO 8859-1, mais bien présents dans Unicode. A vous de voir si cela constitue un problème pour votre application, en fonction des entrées attendues et de votre stratégie de gestion d'erreurs.
HTH, Elegie.
Olivier Miakinen
je souhaite avoir une fonction javascript qui convertit les hexa en texte : ex: Papeterie en "Papeterie".
[...]
replace( /&#x(d{1,4});/g,
Attention, d ne convient pas ici puisqu'il s'agit de chiffres hexa, donc pouvant inclure les lettres a à f (et A à F).
function(a, b) { return "u"+repeat("0",4-b.length)+b ; }
Oui, ça me semble bien.
Note: les séquences d'escape HTML4 supportées sont celles d'ISO-8859-1;
Ben non, ce sont celles d'Unicode. Par exemple, € devrait donner le caractère U+20AC, c'est-à-dire « ¤ ».
les séquences d'escape unicode d'ECMAScript se réfèrent à Unicode;
Oui. Pas de problème, donc.
je souhaite avoir une fonction javascript qui convertit les hexa en texte :
ex: Papeterie
en "Papeterie".
[...]
replace(
/&#x(d{1,4});/g,
Attention, d ne convient pas ici puisqu'il s'agit de chiffres hexa,
donc pouvant inclure les lettres a à f (et A à F).
function(a, b) { return "\u"+repeat("0",4-b.length)+b ; }
Oui, ça me semble bien.
Note: les séquences d'escape HTML4 supportées sont celles d'ISO-8859-1;
Ben non, ce sont celles d'Unicode. Par exemple, € devrait donner
le caractère U+20AC, c'est-à-dire « ¤ ».
les séquences d'escape unicode d'ECMAScript se réfèrent à Unicode;
je souhaite avoir une fonction javascript qui convertit les hexa en texte : ex: Papeterie en "Papeterie".
[...]
replace( /&#x(d{1,4});/g,
Attention, d ne convient pas ici puisqu'il s'agit de chiffres hexa, donc pouvant inclure les lettres a à f (et A à F).
function(a, b) { return "u"+repeat("0",4-b.length)+b ; }
Oui, ça me semble bien.
Note: les séquences d'escape HTML4 supportées sont celles d'ISO-8859-1;
Ben non, ce sont celles d'Unicode. Par exemple, € devrait donner le caractère U+20AC, c'est-à-dire « ¤ ».
les séquences d'escape unicode d'ECMAScript se réfèrent à Unicode;
Oui. Pas de problème, donc.
Elegie
Olivier Miakinen wrote:
Hello,
/&#x(d{1,4});/g,
Attention, d ne convient pas ici puisqu'il s'agit de chiffres hexa, donc pouvant inclure les lettres a à f (et A à F).
Oups. /&#x([0-9a-f]{1,4});/gi devrait être correct pour les entités hexadécimales.
Note: les séquences d'escape HTML4 supportées sont celles d'ISO-8859-1;
Ben non, ce sont celles d'Unicode. Par exemple, € devrait donner le caractère U+20AC, c'est-à-dire « ¤ ».
Re-oups. J'avais pourtant, par acquis de conscience, vérifié la spécification avant de répondre, mais l'avais mal interprétée <grr> Une lecture plus approfondie donne:
[1] ISO-8859-1 identifie un des sous-ensembles de caractères utilisables dans une entité: <URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
[2] la partie numérique d'une entité hexadécimale pointe effectivement vers un caractère Unicode (ISO 10646): <URL:http://www.w3.org/TR/html401/charset.html#h-5.3.1>
Enfin, dernière petite erreur (j'espère!): l'implémentation de la fonction 'repeat' n'est pas correcte au regard de l'usage qui en est fait.
Bref, le script, version corrigée, puis un petit bout de chocolat pour oublier cette terrible journée <re-grr>
--- function translate(str) { function repeat(s, x) { var p=""; for(var ii=0; ii<x; ii++) { p+=s; } return p; }
Désolé encore pour ces erreurs, et merci pour les corrections !
Cheers, Elegie 'today is a oups day'.
Olivier Miakinen wrote:
Hello,
/&#x(d{1,4});/g,
Attention, d ne convient pas ici puisqu'il s'agit de chiffres hexa,
donc pouvant inclure les lettres a à f (et A à F).
Oups. /&#x([0-9a-f]{1,4});/gi devrait être correct pour les entités
hexadécimales.
Note: les séquences d'escape HTML4 supportées sont celles d'ISO-8859-1;
Ben non, ce sont celles d'Unicode. Par exemple, € devrait donner
le caractère U+20AC, c'est-à-dire « ¤ ».
Re-oups. J'avais pourtant, par acquis de conscience, vérifié la
spécification avant de répondre, mais l'avais mal interprétée <grr> Une
lecture plus approfondie donne:
[1] ISO-8859-1 identifie un des sous-ensembles de
caractères utilisables dans une entité:
<URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
[2] la partie numérique d'une entité hexadécimale pointe effectivement
vers un caractère Unicode (ISO 10646):
<URL:http://www.w3.org/TR/html401/charset.html#h-5.3.1>
Enfin, dernière petite erreur (j'espère!): l'implémentation de la
fonction 'repeat' n'est pas correcte au regard de l'usage qui en est fait.
Bref, le script, version corrigée, puis un petit bout de chocolat pour
oublier cette terrible journée <re-grr>
---
function translate(str) {
function repeat(s, x) {
var p="";
for(var ii=0; ii<x; ii++) { p+=s; }
return p;
}
Attention, d ne convient pas ici puisqu'il s'agit de chiffres hexa, donc pouvant inclure les lettres a à f (et A à F).
Oups. /&#x([0-9a-f]{1,4});/gi devrait être correct pour les entités hexadécimales.
Note: les séquences d'escape HTML4 supportées sont celles d'ISO-8859-1;
Ben non, ce sont celles d'Unicode. Par exemple, € devrait donner le caractère U+20AC, c'est-à-dire « ¤ ».
Re-oups. J'avais pourtant, par acquis de conscience, vérifié la spécification avant de répondre, mais l'avais mal interprétée <grr> Une lecture plus approfondie donne:
[1] ISO-8859-1 identifie un des sous-ensembles de caractères utilisables dans une entité: <URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
[2] la partie numérique d'une entité hexadécimale pointe effectivement vers un caractère Unicode (ISO 10646): <URL:http://www.w3.org/TR/html401/charset.html#h-5.3.1>
Enfin, dernière petite erreur (j'espère!): l'implémentation de la fonction 'repeat' n'est pas correcte au regard de l'usage qui en est fait.
Bref, le script, version corrigée, puis un petit bout de chocolat pour oublier cette terrible journée <re-grr>
--- function translate(str) { function repeat(s, x) { var p=""; for(var ii=0; ii<x; ii++) { p+=s; } return p; }
Désolé encore pour ces erreurs, et merci pour les corrections !
Cheers, Elegie 'today is a oups day'.
Elegie
Elegie wrote:
[1] ISO-8859-1 identifie un des sous-ensembles de caractères utilisables dans une entité: <URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
... ce qui, à la relecture, ne veut rien dire :(
Pour l'exprimer proprement; une "entité caractère", par opposition à "entité numérique", est une entité définie à l'aide d'un nom et non d'un code numérique (l'usage d'un nom permettant une meilleure mémorisation par l'auteur).
Ex. Ñ au lieu de Ñ
Les ensembles de caractères représentables par ces entités nommées, sont: ISO 8859-1, des symboles, des symboles mathématiques, des lettres grecques etc. La liste exhaustive est disponible ici:
[1] ISO-8859-1 identifie un des sous-ensembles de
caractères utilisables dans une entité:
<URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
... ce qui, à la relecture, ne veut rien dire :(
Pour l'exprimer proprement; une "entité caractère", par opposition à
"entité numérique", est une entité définie à l'aide d'un nom et non d'un
code numérique (l'usage d'un nom permettant une meilleure mémorisation
par l'auteur).
Ex. Ñ au lieu de Ñ
Les ensembles de caractères représentables par ces entités nommées,
sont: ISO 8859-1, des symboles, des symboles mathématiques, des lettres
grecques etc. La liste exhaustive est disponible ici:
[1] ISO-8859-1 identifie un des sous-ensembles de caractères utilisables dans une entité: <URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
... ce qui, à la relecture, ne veut rien dire :(
Pour l'exprimer proprement; une "entité caractère", par opposition à "entité numérique", est une entité définie à l'aide d'un nom et non d'un code numérique (l'usage d'un nom permettant une meilleure mémorisation par l'auteur).
Ex. Ñ au lieu de Ñ
Les ensembles de caractères représentables par ces entités nommées, sont: ISO 8859-1, des symboles, des symboles mathématiques, des lettres grecques etc. La liste exhaustive est disponible ici:
[...] /&#x([0-9a-f]{1,4});/gi devrait être correct pour les entités hexadécimales.
En effet. Et l'option "i" permettra aussi bien un X majuscule (&#X) que les lettres de A à F. Cela dit, je ne l'ai jamais vu, et surtout l'exemple donné par Nabil n'utilisait que des x minuscules.
[...] J'avais pourtant, par acquis de conscience, vérifié la spécification avant de répondre, mais l'avais mal interprétée <grr> Une lecture plus approfondie donne:
[1] ISO-8859-1 identifie un des sous-ensembles de caractères utilisables dans une entité: <URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
[2] la partie numérique d'une entité hexadécimale pointe effectivement vers un caractère Unicode (ISO 10646): <URL:http://www.w3.org/TR/html401/charset.html#h-5.3.1>
C'est la confusion bien compréhensible entre ce que j'appelle entités « nommées » ou « symboliques » et entités « numériques ». La confusion s'explique par le fait que tout le monde fait comme moi et les appelle « entités », alors que pour le W3C les deux sont des « références de caractères » mais que seule la première est en fait appelée « entité ».
[...]
Bref, le script, version corrigée, puis un petit bout de chocolat pour oublier cette terrible journée <re-grr>
:-D
Désolé encore pour ces erreurs, et merci pour les corrections !
Merci surtout à toi qui as fait tout le boulot !
[...] /&#x([0-9a-f]{1,4});/gi devrait être correct pour les entités
hexadécimales.
En effet. Et l'option "i" permettra aussi bien un X majuscule (&#X)
que les lettres de A à F. Cela dit, je ne l'ai jamais vu, et surtout
l'exemple donné par Nabil n'utilisait que des x minuscules.
[...] J'avais pourtant, par acquis de conscience, vérifié la
spécification avant de répondre, mais l'avais mal interprétée <grr> Une
lecture plus approfondie donne:
[1] ISO-8859-1 identifie un des sous-ensembles de
caractères utilisables dans une entité:
<URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
[2] la partie numérique d'une entité hexadécimale pointe effectivement
vers un caractère Unicode (ISO 10646):
<URL:http://www.w3.org/TR/html401/charset.html#h-5.3.1>
C'est la confusion bien compréhensible entre ce que j'appelle entités
« nommées » ou « symboliques » et entités « numériques ». La confusion
s'explique par le fait que tout le monde fait comme moi et les appelle
« entités », alors que pour le W3C les deux sont des « références de
caractères » mais que seule la première est en fait appelée « entité ».
[...]
Bref, le script, version corrigée, puis un petit bout de chocolat pour
oublier cette terrible journée <re-grr>
:-D
Désolé encore pour ces erreurs, et merci pour les corrections !
[...] /&#x([0-9a-f]{1,4});/gi devrait être correct pour les entités hexadécimales.
En effet. Et l'option "i" permettra aussi bien un X majuscule (&#X) que les lettres de A à F. Cela dit, je ne l'ai jamais vu, et surtout l'exemple donné par Nabil n'utilisait que des x minuscules.
[...] J'avais pourtant, par acquis de conscience, vérifié la spécification avant de répondre, mais l'avais mal interprétée <grr> Une lecture plus approfondie donne:
[1] ISO-8859-1 identifie un des sous-ensembles de caractères utilisables dans une entité: <URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
[2] la partie numérique d'une entité hexadécimale pointe effectivement vers un caractère Unicode (ISO 10646): <URL:http://www.w3.org/TR/html401/charset.html#h-5.3.1>
C'est la confusion bien compréhensible entre ce que j'appelle entités « nommées » ou « symboliques » et entités « numériques ». La confusion s'explique par le fait que tout le monde fait comme moi et les appelle « entités », alors que pour le W3C les deux sont des « références de caractères » mais que seule la première est en fait appelée « entité ».
[...]
Bref, le script, version corrigée, puis un petit bout de chocolat pour oublier cette terrible journée <re-grr>
:-D
Désolé encore pour ces erreurs, et merci pour les corrections !
Merci surtout à toi qui as fait tout le boulot !
Olivier Miakinen
Elegie wrote:
[1] ISO-8859-1 identifie un des sous-ensembles de caractères utilisables dans une entité: <URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
... ce qui, à la relecture, ne veut rien dire :(
;-)
Ce qu'ils voulaient dire, c'est qu'il existe des entités de caractères pour toute la partie haute de ISO-8859-1 sans exception. Il y en a aussi pour tous les caractères trouvables dans la police "Symbol" (quelques symboles mathématiques et lettres grecques en particulier) et il y a enfin quatre entités pour des caractères ASCII servant au balisage : « " », « & », « < » et « > ».
Pour l'exprimer proprement; une "entité caractère", par opposition à "entité numérique", est une entité définie à l'aide d'un nom et non d'un code numérique (l'usage d'un nom permettant une meilleure mémorisation par l'auteur).
Ex. Ñ au lieu de Ñ
Et pour l'exprimer encore plus proprement on parlera de « référence d'entité de caractère » (Ñ) par opposition à « référence de caractère numérique » (Ñ). Mais c'est beaucoup plus long à écrire.
Les ensembles de caractères représentables par ces entités nommées, sont: ISO 8859-1, des symboles, des symboles mathématiques, des lettres grecques etc.
Ah, pardon, j'ai commencé à rédiger ma réponse avant de lire jusqu'au bout. Tant pis, ça fera redite mais je le laisse.
Elegie wrote:
[1] ISO-8859-1 identifie un des sous-ensembles de
caractères utilisables dans une entité:
<URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
... ce qui, à la relecture, ne veut rien dire :(
;-)
Ce qu'ils voulaient dire, c'est qu'il existe des entités de caractères
pour toute la partie haute de ISO-8859-1 sans exception. Il y en a aussi
pour tous les caractères trouvables dans la police "Symbol" (quelques
symboles mathématiques et lettres grecques en particulier) et il y a
enfin quatre entités pour des caractères ASCII servant au balisage :
« " », « & », « < » et « > ».
Pour l'exprimer proprement; une "entité caractère", par opposition à
"entité numérique", est une entité définie à l'aide d'un nom et non d'un
code numérique (l'usage d'un nom permettant une meilleure mémorisation
par l'auteur).
Ex. Ñ au lieu de Ñ
Et pour l'exprimer encore plus proprement on parlera de « référence
d'entité de caractère » (Ñ) par opposition à « référence de
caractère numérique » (Ñ). Mais c'est beaucoup plus long à écrire.
Les ensembles de caractères représentables par ces entités nommées,
sont: ISO 8859-1, des symboles, des symboles mathématiques, des lettres
grecques etc.
Ah, pardon, j'ai commencé à rédiger ma réponse avant de lire jusqu'au
bout. Tant pis, ça fera redite mais je le laisse.
[1] ISO-8859-1 identifie un des sous-ensembles de caractères utilisables dans une entité: <URL:http://www.w3.org/TR/html401/sgml/entities.html#h-24.1>
... ce qui, à la relecture, ne veut rien dire :(
;-)
Ce qu'ils voulaient dire, c'est qu'il existe des entités de caractères pour toute la partie haute de ISO-8859-1 sans exception. Il y en a aussi pour tous les caractères trouvables dans la police "Symbol" (quelques symboles mathématiques et lettres grecques en particulier) et il y a enfin quatre entités pour des caractères ASCII servant au balisage : « " », « & », « < » et « > ».
Pour l'exprimer proprement; une "entité caractère", par opposition à "entité numérique", est une entité définie à l'aide d'un nom et non d'un code numérique (l'usage d'un nom permettant une meilleure mémorisation par l'auteur).
Ex. Ñ au lieu de Ñ
Et pour l'exprimer encore plus proprement on parlera de « référence d'entité de caractère » (Ñ) par opposition à « référence de caractère numérique » (Ñ). Mais c'est beaucoup plus long à écrire.
Les ensembles de caractères représentables par ces entités nommées, sont: ISO 8859-1, des symboles, des symboles mathématiques, des lettres grecques etc.
Ah, pardon, j'ai commencé à rédiger ma réponse avant de lire jusqu'au bout. Tant pis, ça fera redite mais je le laisse.