Forum Programmation.c Conversion de java modified utf 8 a utf 8 standard en C

Posté par  .
Étiquettes : aucune
0
3
déc.
2004
Salut a tous,

Je dois écrire un client en C qui communique avec un serveur en JAVA.

Voila ce serveur utilise comme fonctions pour écrire et lire sur les sockets les fonctions : writeUTF() et readUTF() qui ne comprennent pas l'utf standard.
Voir pour cela: http://en.wikipedia.org/wiki/UTF-8#Modified_UTF-8(...)
ou encore : http://java.sun.com/j2se/1.5.0/docs/api/java/io/DataInput.html#modi(...)


Je voulais savoir comment je peux convertir vers cet utf modifié , y'a t'il une librairie qui fait ça ? ou alors trouver une fonction comme en C# GetByteCount() qui retourne le nombre d'octets d'un caractère a fin de faire la conversion a la main.

Merci
  • # libiconv

    Posté par  . Évalué à 1.

    libiconv peut-être ? http://www.gnu.org/software/libiconv/(...)

    Dans la liste des encodages supportés, dans la section Full Unicode, je vois marqué "JAVA". C'est peut-être l'encodage dont tu parles ?
    • [^] # Re: libiconv

      Posté par  . Évalué à 1.

      Et en plus ça a même l'air d'être une fonction standard de la glibc...
      • [^] # Re: libiconv

        Posté par  . Évalué à 2.

        J'avais déja essayer mais malheureusement il ne reconnaissait pas JAVA comme paramétre dans iconv_open() contrairement a ce qu'il y a d'indiqué sur la page principale de la libiconv

        En plus si tu regarde dans le repertoir /usr/lib/gconv qui contiens les charsets supporté je ne vois pas de JAVA dedans :(
        • [^] # Re: libiconv

          Posté par  . Évalué à 2.

          Effectivement... Et puis en plus, en jettant un coup d'oeil dans les sources de libiconv, où il y a un java.h, le charset JAVA a l'air d'être pour le support du Iso-8859-1 avec des sequences \uxxxx, et non pas pour le UTF8 modifé.

          Du coup je sais pas...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.