Euh, "Une chaîne de caractères est une suite de
zéro ou plus caractères Unicode," ?
Euh, "Une chaîne de caractères est une suite de
zéro ou plus caractères Unicode," ?
Euh, "Une chaîne de caractères est une suite de
zéro ou plus caractères Unicode," ?
Tonton Th , dans le message <4cbcadc6$0$5859$, a
écrit :Euh, "Une chaîne de caractères est une suite de
zéro ou plus caractères Unicode," ?
Encore heureux !
Seulement, un fichier, c'est une suite d'octets, pas de caractères.
L'encodage, c'est justement la description de la correspondance entre les
octets et les caractères. S'il n'est pas déclaré, on revient aux
catastrophes historiques.
The character encoding of JSON text is always Unicode. UTF-8 is the only
Tonton Th , dans le message <4cbcadc6$0$5859$426a74cc@news.free.fr>, a
écrit :
Euh, "Une chaîne de caractères est une suite de
zéro ou plus caractères Unicode," ?
Encore heureux !
Seulement, un fichier, c'est une suite d'octets, pas de caractères.
L'encodage, c'est justement la description de la correspondance entre les
octets et les caractères. S'il n'est pas déclaré, on revient aux
catastrophes historiques.
The character encoding of JSON text is always Unicode. UTF-8 is the only
Tonton Th , dans le message <4cbcadc6$0$5859$, a
écrit :Euh, "Une chaîne de caractères est une suite de
zéro ou plus caractères Unicode," ?
Encore heureux !
Seulement, un fichier, c'est une suite d'octets, pas de caractères.
L'encodage, c'est justement la description de la correspondance entre les
octets et les caractères. S'il n'est pas déclaré, on revient aux
catastrophes historiques.
The character encoding of JSON text is always Unicode. UTF-8 is the only
D'où la réponse donnée: JSON est encodé en Unicode.
http://www.json.org/fatfree.html, vers le milieu de la pageThe character encoding of JSON text is always Unicode. UTF-8 is the only
encoding that makes sense on the wire, but UTF-16 and UTF-32 are also
permitted.
C'est au développeur de prendre le soin d'encoder et de décoder dans le même
encodage et d'indiquer aux utilisateurs l'encodage à utiliser.
Et il est plus que risqué de fournir l'encodage dans le fichier lui-même
(duplication d'information, le fichier contenant de lui-même dans quel
encodage il est), l'encodage déclaré n'étant pas forcément l'encodage
utilisé pour enregistrer le fichier (je peut marquer ISO-8859-1 dans mon
fichier mais l'enregistrer en UTF-8).
D'où la réponse donnée: JSON est encodé en Unicode.
http://www.json.org/fatfree.html, vers le milieu de la page
The character encoding of JSON text is always Unicode. UTF-8 is the only
encoding that makes sense on the wire, but UTF-16 and UTF-32 are also
permitted.
C'est au développeur de prendre le soin d'encoder et de décoder dans le même
encodage et d'indiquer aux utilisateurs l'encodage à utiliser.
Et il est plus que risqué de fournir l'encodage dans le fichier lui-même
(duplication d'information, le fichier contenant de lui-même dans quel
encodage il est), l'encodage déclaré n'étant pas forcément l'encodage
utilisé pour enregistrer le fichier (je peut marquer ISO-8859-1 dans mon
fichier mais l'enregistrer en UTF-8).
D'où la réponse donnée: JSON est encodé en Unicode.
http://www.json.org/fatfree.html, vers le milieu de la pageThe character encoding of JSON text is always Unicode. UTF-8 is the only
encoding that makes sense on the wire, but UTF-16 and UTF-32 are also
permitted.
C'est au développeur de prendre le soin d'encoder et de décoder dans le même
encodage et d'indiquer aux utilisateurs l'encodage à utiliser.
Et il est plus que risqué de fournir l'encodage dans le fichier lui-même
(duplication d'information, le fichier contenant de lui-même dans quel
encodage il est), l'encodage déclaré n'étant pas forcément l'encodage
utilisé pour enregistrer le fichier (je peut marquer ISO-8859-1 dans mon
fichier mais l'enregistrer en UTF-8).
Déclarer l'encodage n'est pas une garantie qu'il n'y ait pas de problème,
mais ne pas le déclarer, c'est la garantie qu'il y aura des problèmes.
Déclarer l'encodage n'est pas une garantie qu'il n'y ait pas de problème,
mais ne pas le déclarer, c'est la garantie qu'il y aura des problèmes.
Déclarer l'encodage n'est pas une garantie qu'il n'y ait pas de problème,
mais ne pas le déclarer, c'est la garantie qu'il y aura des problèmes.
Pour moi, déclarer un encodage ne fait qu'apporter de l'inconsistence en
plus.
Le jour où quelqu'un m'envoit un fichier encodé en UTF16 mais déclaré en
UTF8 dedans, j'en fais quoi?
Pour moi, déclarer un encodage ne fait qu'apporter de l'inconsistence en
plus.
Le jour où quelqu'un m'envoit un fichier encodé en UTF16 mais déclaré en
UTF8 dedans, j'en fais quoi?
Pour moi, déclarer un encodage ne fait qu'apporter de l'inconsistence en
plus.
Le jour où quelqu'un m'envoit un fichier encodé en UTF16 mais déclaré en
UTF8 dedans, j'en fais quoi?
Bonjour,
Pour installer un petit serveur Jabber (Prosody), j'ai eu à tripoter un
fichier de conf en xml. Je n'y connais pas grand chose, mais je me
demandais quel est l'intérêt d'utiliser ce format plutôt qu'un bête
fichier texte à éditer ? C'est une vraie question.
Bonjour,
Pour installer un petit serveur Jabber (Prosody), j'ai eu à tripoter un
fichier de conf en xml. Je n'y connais pas grand chose, mais je me
demandais quel est l'intérêt d'utiliser ce format plutôt qu'un bête
fichier texte à éditer ? C'est une vraie question.
Bonjour,
Pour installer un petit serveur Jabber (Prosody), j'ai eu à tripoter un
fichier de conf en xml. Je n'y connais pas grand chose, mais je me
demandais quel est l'intérêt d'utiliser ce format plutôt qu'un bête
fichier texte à éditer ? C'est une vraie question.
Aeris , dans le message <4cbcc297$0$12630$, a
écrit :D'où la réponse donnée: JSON est encodé en Unicode.
Ce qui ne veut rien dire : Unicode est un catalogue de caractères, pas un
encodage (rappel du message précédent : un encodage, c'est la correspondance
entre des octets et des caractères).
Unicode simplifie la gestion des encodages, en ce qu'il permet de décomposer
la relation « octets -> caractères » en « octets -> numéro » et « numéro ->
caractère », ce qui est plus facile à décrire de manière systématique.
Mais Unicode lui-même ne parle pas d'octets.
http://www.json.org/fatfree.html, vers le milieu de la pageThe character encoding of JSON text is always Unicode. UTF-8 is the only
encoding that makes sense on the wire, but UTF-16 and UTF-32 are also
permitted.
Ce texte a manifestement été écrit par quelqu'un qui a les idées très
confuses sur ce qu'est Unicode et ce qu'est un encodage. Ça ne donne pas
confiance dans le sérieux de l'ensemble.C'est au développeur de prendre le soin d'encoder et de décoder dans le même
encodage et d'indiquer aux utilisateurs l'encodage à utiliser.
Je croyais qu'on cherchait à avoir des bibliothèques toutes faites pour
éviter de réinventer la roue à chaque fois.Et il est plus que risqué de fournir l'encodage dans le fichier lui-même
Plus risqué que quoi ?(duplication d'information, le fichier contenant de lui-même dans quel
encodage il est), l'encodage déclaré n'étant pas forcément l'encodage
utilisé pour enregistrer le fichier (je peut marquer ISO-8859-1 dans mon
fichier mais l'enregistrer en UTF-8).
Déclarer l'encodage n'est pas une garantie qu'il n'y ait pas de problème,
mais ne pas le déclarer, c'est la garantie qu'il y aura des problèmes.
Aeris , dans le message <4cbcc297$0$12630$426a74cc@news.free.fr>, a
écrit :
D'où la réponse donnée: JSON est encodé en Unicode.
Ce qui ne veut rien dire : Unicode est un catalogue de caractères, pas un
encodage (rappel du message précédent : un encodage, c'est la correspondance
entre des octets et des caractères).
Unicode simplifie la gestion des encodages, en ce qu'il permet de décomposer
la relation « octets -> caractères » en « octets -> numéro » et « numéro ->
caractère », ce qui est plus facile à décrire de manière systématique.
Mais Unicode lui-même ne parle pas d'octets.
http://www.json.org/fatfree.html, vers le milieu de la page
The character encoding of JSON text is always Unicode. UTF-8 is the only
encoding that makes sense on the wire, but UTF-16 and UTF-32 are also
permitted.
Ce texte a manifestement été écrit par quelqu'un qui a les idées très
confuses sur ce qu'est Unicode et ce qu'est un encodage. Ça ne donne pas
confiance dans le sérieux de l'ensemble.
C'est au développeur de prendre le soin d'encoder et de décoder dans le même
encodage et d'indiquer aux utilisateurs l'encodage à utiliser.
Je croyais qu'on cherchait à avoir des bibliothèques toutes faites pour
éviter de réinventer la roue à chaque fois.
Et il est plus que risqué de fournir l'encodage dans le fichier lui-même
Plus risqué que quoi ?
(duplication d'information, le fichier contenant de lui-même dans quel
encodage il est), l'encodage déclaré n'étant pas forcément l'encodage
utilisé pour enregistrer le fichier (je peut marquer ISO-8859-1 dans mon
fichier mais l'enregistrer en UTF-8).
Déclarer l'encodage n'est pas une garantie qu'il n'y ait pas de problème,
mais ne pas le déclarer, c'est la garantie qu'il y aura des problèmes.
Aeris , dans le message <4cbcc297$0$12630$, a
écrit :D'où la réponse donnée: JSON est encodé en Unicode.
Ce qui ne veut rien dire : Unicode est un catalogue de caractères, pas un
encodage (rappel du message précédent : un encodage, c'est la correspondance
entre des octets et des caractères).
Unicode simplifie la gestion des encodages, en ce qu'il permet de décomposer
la relation « octets -> caractères » en « octets -> numéro » et « numéro ->
caractère », ce qui est plus facile à décrire de manière systématique.
Mais Unicode lui-même ne parle pas d'octets.
http://www.json.org/fatfree.html, vers le milieu de la pageThe character encoding of JSON text is always Unicode. UTF-8 is the only
encoding that makes sense on the wire, but UTF-16 and UTF-32 are also
permitted.
Ce texte a manifestement été écrit par quelqu'un qui a les idées très
confuses sur ce qu'est Unicode et ce qu'est un encodage. Ça ne donne pas
confiance dans le sérieux de l'ensemble.C'est au développeur de prendre le soin d'encoder et de décoder dans le même
encodage et d'indiquer aux utilisateurs l'encodage à utiliser.
Je croyais qu'on cherchait à avoir des bibliothèques toutes faites pour
éviter de réinventer la roue à chaque fois.Et il est plus que risqué de fournir l'encodage dans le fichier lui-même
Plus risqué que quoi ?(duplication d'information, le fichier contenant de lui-même dans quel
encodage il est), l'encodage déclaré n'étant pas forcément l'encodage
utilisé pour enregistrer le fichier (je peut marquer ISO-8859-1 dans mon
fichier mais l'enregistrer en UTF-8).
Déclarer l'encodage n'est pas une garantie qu'il n'y ait pas de problème,
mais ne pas le déclarer, c'est la garantie qu'il y aura des problèmes.
Tu le rejettes avec un message d'erreur clair, et éventuellement avec l es
options offertes pour diverses tentatives de réparation partiellement
automatisées.
Tu le rejettes avec un message d'erreur clair, et éventuellement avec l es
options offertes pour diverses tentatives de réparation partiellement
automatisées.
Tu le rejettes avec un message d'erreur clair, et éventuellement avec l es
options offertes pour diverses tentatives de réparation partiellement
automatisées.
Aeris , dans le message <4cbcd22a$0$11799$, a
écrit :Pour moi, déclarer un encodage ne fait qu'apporter de l'inconsistence en
plus.
Et tu dis ça comme si c'était une mauvaise chose. La redondance de
l'information, c'est une occasion de détecter une erreur. Un avertissement
explicite vaut infiniment mieux qu'une erreur qui se propage silencieusement
et corrompt des données.
Aeris , dans le message <4cbcd22a$0$11799$426a74cc@news.free.fr>, a
écrit :
Pour moi, déclarer un encodage ne fait qu'apporter de l'inconsistence en
plus.
Et tu dis ça comme si c'était une mauvaise chose. La redondance de
l'information, c'est une occasion de détecter une erreur. Un avertissement
explicite vaut infiniment mieux qu'une erreur qui se propage silencieusement
et corrompt des données.
Aeris , dans le message <4cbcd22a$0$11799$, a
écrit :Pour moi, déclarer un encodage ne fait qu'apporter de l'inconsistence en
plus.
Et tu dis ça comme si c'était une mauvaise chose. La redondance de
l'information, c'est une occasion de détecter une erreur. Un avertissement
explicite vaut infiniment mieux qu'une erreur qui se propage silencieusement
et corrompt des données.
JKB wrote:Un fichier plat pose énormément de problèmes, parmis lesquels ceux citer
plus haut: gestion des échappements, délimiteurs de paramètres de
configuration, gestion des paramètres multilignes, caractères spéciaux...
Je ne vois pas pourquoi. J'ai écrit plusieurs 'parser' de fichiers
autrement plus complexes qu'un bête fichier plat avec des caractères
spéciaux. Il suffit de définir une syntaxe et de passer le truc dans
une moulinette écrite une fois pour toute. En fait, je ne vois pas
ce qui pose problème à un fichier texte et qui n'en poserait pas à
un fichier XML (sauf que les routines pour XML ont été écrites et
qu'il ne faut pas réinventer la roue et patati et patata !).
Comme tu le dis, ça réinvente la roue, et encore qu'en partie.
Ton parser maison aura toutes les chances d'être bien moins modulable et
clair qu'un fichier XML qui contient les mêmes données (surtout que cf
dernier point).
Rajouter un niveau d'imbrication dans le XML a toutes les chances d'être
rétrocompatible avec l'ancien fichier (les nouvelles balises seront
ignorées), déplacer un contenu au travers de l'arbre ne cassera pas le
fichier (les requètes xpath restent toujours valables). J'en doute beaucoup
plus sur ton parser maison.
Un fichier XML, c'est une plaie dès qu'il devient complexe et qu'il
faut le modifier à la main !
Tout comme un parser maison devient extrèmement plus compliqué à maintenir
dès que la structure devient complexe, et encore pire la gueule du fichier
final (et les bugs qui vont avec)
Surtout que sur le XML, il y a pléthores d'éditeurs XML qui valident en même
temps ton fichier et te guide dans la saisie, avec par exemple de
l'autocomplétion ou du WYSIWYG (comme l'excellent ExxEditor [1]).
Sans parler qu'il est difficile de structurer un fichier plat, qui n'est
rien de plus qu'une bouillie de lignes,
Mauvaise syntaxe, changer de syntaxe. Je peux te montrer des
fichiers plats parfaitement structurés (comme il en existe d'autres
qui sont illisibles).
Un fichier plat structuré, j'appelle ça du XML (ou en tout cas à un XSLT
près :)).
Et certes, faire du XML illisible, c'est possible, mais je pense qu'on a
largement moins de chance d'y parvenir qu'avec un langage maison.
Après si on veut du light, y'a d'autres langages que XML, JSON par exemple,
le tout étant de rester dans les langages structurés et non pas plat.
Mais partir de 0 et redéfinir son propre format, parser et syntaxe, c'est
non seulement inutile mais en plus fortement risqué (bug, évolutivité,
maintenance, compréhension...).
à l'inverse de XML ou des autres
langages structurés (JSON, YAML...) qui ordonnent et trient les
informations.
Mouais. Pas convaincu.
JKB
[1] http://dgp-public.gforge.inria.fr/fr/index.html
JKB wrote:
Un fichier plat pose énormément de problèmes, parmis lesquels ceux citer
plus haut: gestion des échappements, délimiteurs de paramètres de
configuration, gestion des paramètres multilignes, caractères spéciaux...
Je ne vois pas pourquoi. J'ai écrit plusieurs 'parser' de fichiers
autrement plus complexes qu'un bête fichier plat avec des caractères
spéciaux. Il suffit de définir une syntaxe et de passer le truc dans
une moulinette écrite une fois pour toute. En fait, je ne vois pas
ce qui pose problème à un fichier texte et qui n'en poserait pas à
un fichier XML (sauf que les routines pour XML ont été écrites et
qu'il ne faut pas réinventer la roue et patati et patata !).
Comme tu le dis, ça réinvente la roue, et encore qu'en partie.
Ton parser maison aura toutes les chances d'être bien moins modulable et
clair qu'un fichier XML qui contient les mêmes données (surtout que cf
dernier point).
Rajouter un niveau d'imbrication dans le XML a toutes les chances d'être
rétrocompatible avec l'ancien fichier (les nouvelles balises seront
ignorées), déplacer un contenu au travers de l'arbre ne cassera pas le
fichier (les requètes xpath restent toujours valables). J'en doute beaucoup
plus sur ton parser maison.
Un fichier XML, c'est une plaie dès qu'il devient complexe et qu'il
faut le modifier à la main !
Tout comme un parser maison devient extrèmement plus compliqué à maintenir
dès que la structure devient complexe, et encore pire la gueule du fichier
final (et les bugs qui vont avec)
Surtout que sur le XML, il y a pléthores d'éditeurs XML qui valident en même
temps ton fichier et te guide dans la saisie, avec par exemple de
l'autocomplétion ou du WYSIWYG (comme l'excellent ExxEditor [1]).
Sans parler qu'il est difficile de structurer un fichier plat, qui n'est
rien de plus qu'une bouillie de lignes,
Mauvaise syntaxe, changer de syntaxe. Je peux te montrer des
fichiers plats parfaitement structurés (comme il en existe d'autres
qui sont illisibles).
Un fichier plat structuré, j'appelle ça du XML (ou en tout cas à un XSLT
près :)).
Et certes, faire du XML illisible, c'est possible, mais je pense qu'on a
largement moins de chance d'y parvenir qu'avec un langage maison.
Après si on veut du light, y'a d'autres langages que XML, JSON par exemple,
le tout étant de rester dans les langages structurés et non pas plat.
Mais partir de 0 et redéfinir son propre format, parser et syntaxe, c'est
non seulement inutile mais en plus fortement risqué (bug, évolutivité,
maintenance, compréhension...).
à l'inverse de XML ou des autres
langages structurés (JSON, YAML...) qui ordonnent et trient les
informations.
Mouais. Pas convaincu.
JKB
[1] http://dgp-public.gforge.inria.fr/fr/index.html
JKB wrote:Un fichier plat pose énormément de problèmes, parmis lesquels ceux citer
plus haut: gestion des échappements, délimiteurs de paramètres de
configuration, gestion des paramètres multilignes, caractères spéciaux...
Je ne vois pas pourquoi. J'ai écrit plusieurs 'parser' de fichiers
autrement plus complexes qu'un bête fichier plat avec des caractères
spéciaux. Il suffit de définir une syntaxe et de passer le truc dans
une moulinette écrite une fois pour toute. En fait, je ne vois pas
ce qui pose problème à un fichier texte et qui n'en poserait pas à
un fichier XML (sauf que les routines pour XML ont été écrites et
qu'il ne faut pas réinventer la roue et patati et patata !).
Comme tu le dis, ça réinvente la roue, et encore qu'en partie.
Ton parser maison aura toutes les chances d'être bien moins modulable et
clair qu'un fichier XML qui contient les mêmes données (surtout que cf
dernier point).
Rajouter un niveau d'imbrication dans le XML a toutes les chances d'être
rétrocompatible avec l'ancien fichier (les nouvelles balises seront
ignorées), déplacer un contenu au travers de l'arbre ne cassera pas le
fichier (les requètes xpath restent toujours valables). J'en doute beaucoup
plus sur ton parser maison.
Un fichier XML, c'est une plaie dès qu'il devient complexe et qu'il
faut le modifier à la main !
Tout comme un parser maison devient extrèmement plus compliqué à maintenir
dès que la structure devient complexe, et encore pire la gueule du fichier
final (et les bugs qui vont avec)
Surtout que sur le XML, il y a pléthores d'éditeurs XML qui valident en même
temps ton fichier et te guide dans la saisie, avec par exemple de
l'autocomplétion ou du WYSIWYG (comme l'excellent ExxEditor [1]).
Sans parler qu'il est difficile de structurer un fichier plat, qui n'est
rien de plus qu'une bouillie de lignes,
Mauvaise syntaxe, changer de syntaxe. Je peux te montrer des
fichiers plats parfaitement structurés (comme il en existe d'autres
qui sont illisibles).
Un fichier plat structuré, j'appelle ça du XML (ou en tout cas à un XSLT
près :)).
Et certes, faire du XML illisible, c'est possible, mais je pense qu'on a
largement moins de chance d'y parvenir qu'avec un langage maison.
Après si on veut du light, y'a d'autres langages que XML, JSON par exemple,
le tout étant de rester dans les langages structurés et non pas plat.
Mais partir de 0 et redéfinir son propre format, parser et syntaxe, c'est
non seulement inutile mais en plus fortement risqué (bug, évolutivité,
maintenance, compréhension...).
à l'inverse de XML ou des autres
langages structurés (JSON, YAML...) qui ordonnent et trient les
informations.
Mouais. Pas convaincu.
JKB
[1] http://dgp-public.gforge.inria.fr/fr/index.html