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

Windows Forms Discussion :

Parser un long sur une base de 36


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 27
    Points : 32
    Points
    32
    Par défaut Parser un long sur une base de 36
    Bonjour,

    J'ai un petit souci dans la refonte d'une petite appli J2SE en C#. Le programme utilise la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Long.parseLong(new String(tmp), 36)
    tmp étant un tableau de byte (byte[])

    Apparemment le 36 est la base sur lequel il faut s'appuyer.

    Étant donnée qu'il ne s'agit pas d'une base courante, je ne sais pas comment faire de même en C#.

    Si qqn à la solution, merci.

  2. #2
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    La methode serait de faire un Convert.ToInt64(string, base) mais le probleme et que la base ne peut etre que 2, 8, 10 et 16...

    Une solution que je vois est de le faire a la main... c'est simple a faire !

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par Tober Voir le message
    La methode serait de faire un Convert.ToInt64(string, base) mais le probleme et que la base ne peut etre que 2, 8, 10 et 16...
    C'est dingue ça
    Alors que c'est exactement le même algo... mais si ça se trouve ils l'ont codé séparément pour chaque base

  4. #4
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Le probleme je pense ds ce genre de fonction c'est que si on est sur une base aleatoire genre 36 , il faut savoir comment coder ce nombre...
    theoriquement ca devrait etre :
    0123456789abcdefghijklmnopqrstuvwxyz, mais comment veut tu que le langage devine ca ?
    ca aurait aussi bien pu etre code autrement... C'est pour cela que C# integre la conversion dans des bases dont leur ecriture est norme...
    tout le monde connait l'ecriture en binaire, octale, decimal et hexadecimal...
    enfin ca ne concerne que mon avis

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    oui mais bon, c'est juste une extension de la base 16... si un jour la base 36 devenait un standard (OK, c'est peu probable...), il y a fort à parier qu'elle serait codée avec des chiffres de 0 à 9 et des lettres de a à z...

  6. #6
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    et pour la base 37 ?

  7. #7
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Surtout que les 26 lettres de l'alphabet sont 26 dans un certain nombre de langues, pas dans toutes... Si c'est des turcs qui popularisent la base 36, est-ce qu'ils vont insérer leur "i" sans point ? Les espagnols leur "ñ" ?

    Bref, l'alphabet, c'est un problème de culture, ça n'a rien d'universel

Discussions similaires

  1. requetes BUSINESS OBJECT sur une base ACCESS
    Par greatmaster1971 dans le forum Deski
    Réponses: 1
    Dernier message: 06/10/2004, 14h10
  2. [ADO][excel] clé primaire sur une base excel
    Par mandale dans le forum Bases de données
    Réponses: 3
    Dernier message: 02/09/2004, 17h53
  3. Connexion SYSDBA sur une base ou une autre
    Par jack554 dans le forum Administration
    Réponses: 11
    Dernier message: 20/04/2004, 17h11
  4. Filtre sur une base Paradox
    Par mika dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/03/2004, 11h51
  5. Alter user sur une base distante
    Par bilo2000 dans le forum Administration
    Réponses: 13
    Dernier message: 09/03/2004, 17h18

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