IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

SDL unicode et ascii étendu


Sujet :

SDL

  1. #1
    Membre habitué
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Points : 127
    Points
    127
    Par défaut SDL unicode et ascii étendu
    bonjour,

    ma question sera très simple, comment puis-je récupérer le code ascii étendu (utilisé entre autre pour ma console de debug) sachant que SDL_Unicode me retourne de l'unicode (logique en même temps) ?

    bon je donne une application correspondante :

    je tape sur la touche 'é', le code que je récupérerais dans key.keysym.unicode est la valeur 233, mais en regardant l'ascii étendu, il se trouve que 'é' vaut 130.
    donc c'est pas la bonne valeur et, en toute logique, lorsque j'affiche dans mon terminal le résultat de ma frappe, ca n'a rien a voir avec un 'é'.

    comment devrais-je procéder ?

    merci
    i = i++;

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Salut, as-tu regardé dans la doc de SDL ?
    Si tu as une fonction qui fasse la conversion il faut l'employer sinon il faut utiliser les fonctions de l'OS mais ton code ne sera plus portable...
    et puis pourquoi vouloir afficher à tout prix une fenêtre console ?
    C'est bien en débogage c'était bien pour les jeux il y a 10 ans.
    Mais maintenant est-ce que Crysis2 ou Quake Ennemy Territory affichent-ils une fenêtre console

  3. #3
    Membre habitué
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Points : 127
    Points
    127
    Par défaut
    ok... avis intéressant

    pour le coup en effet une fonction de conversion parait être le plus facile mais peut être pas le plus souple.

    mais a la base, le but inavoué est de réinventer la roue, donc je me base sur le code ascii pour faire une correspondance avec des caractères en sprite (a la question pourquoi, je répondrais, pourquoi pas ^^)
    i = i++;

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Le problème c'est que ASCII étendu, ça veut dire tout et n'importe quoi. En l'occurence, cela désigne n'importe quel jeu de caractères sur 8 bits dont la première moitié est l'ASCII.

    Ce qu'il te faut savoir, c'est l'encodage exact vers lequel tu veux convertir ton caractère unicode. Si c'est pour la console Windows, ça doit être un truc du genre CP1252, et il y a des fonctions de conversion pour ça dans l'API Windows.

  5. #5
    Membre habitué
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Points : 127
    Points
    127
    Par défaut
    ah ok !

    mais l'unicode, lui, est-il normalisé ?
    car dans ce cas, j'utiliserais l'unicode dans les cas d'affichage de mes sprites, et seulement dans les cas de debug sur console, j'appliquerais une conversion

    avant toute chose c'est un programme graphique donc la console me sert vraiment que pour la version debug, et disparaîtra en release


    je code principalement pour windows, mais mon appli reste portable a la condition des wchar_t
    i = i++;

  6. #6
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Oui, l'unicode et l'UTF-8 sont normalisés

    Je te conseille l'UTF-8 car en général il prend moins de place (par ex tous les caractères ASCII ne sont que sur 1 octet)

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Je te conseille l'UTF-8 car en général il prend moins de place (par ex tous les caractères ASCII ne sont que sur 1 octet)
    Ca c'est rarement important, sauf si on doit transmettre des chaînes de caractères via le réseau.

    En général on utilisera l'encodage Unicode le plus simple à manipuler selon le contexte (donc en général, celui que propose la bibliothèque qu'on utilise -- c'est déjà assez mal géré comme ça pour qu'on complique les choses avec un encodage mal supporté).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Console windows, couleurs et ascii étendu.
    Par AsmCode dans le forum Windows
    Réponses: 3
    Dernier message: 28/02/2007, 22h59
  2. Convertir unicode en Ascii
    Par PrincePA dans le forum Framework .NET
    Réponses: 2
    Dernier message: 29/12/2006, 14h02
  3. Convertir unicode en ascii
    Par PrincePA dans le forum Windows
    Réponses: 3
    Dernier message: 28/12/2006, 13h59
  4. Transformer de l'Unicode en ASCII
    Par kow_Ced dans le forum Langage
    Réponses: 4
    Dernier message: 28/10/2005, 08h53
  5. ASCII étendue
    Par rabbi_jaccob dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/12/2004, 18h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo