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

Ruby Discussion :

Détecter des caractères non-ASCII


Sujet :

Ruby

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 87
    Points
    87
    Par défaut Détecter des caractères non-ASCII
    Bonjour à tous,

    À un projet Rails servant de carnet d'adresses, j'envisage d'ajouter une possibilité d'exporter au format ldif utilisé par Thunderbird.

    La syntaxe de ce format impose d'encoder en base64 les caractères non ASCII.

    En lisant les fichiers ldif exportés par thunderbird, je remarque en effet que seules les valeurs comprenant des caractères accentués sont encodées, les autres étant conservées en texte brut.

    J'ignore si c'est une erreur syntaxique d'encoder toutes les valeurs, y compris celles pour lesquelles ce n'est pas nécessaire; je préfèrerais de toute manière encoder seulement les valeurs qui comprennent ces caractères non ASCII.

    Mais voilà, comment les repérer ?

    Tout commentaire/conseil sur le traitement de ce format est bienvenu également.

    Bien à vous,

    Gauthier

  2. #2
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Bonjour

    Les caractères ASCII 'standards' ont pour code (33..127).

    quand tu as une chaine, tu peux obtenir le code ascii de chacun de tes caractères :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "hé, comment ça va ?".each_byte { |elt| puts elt }
    =>

    104
    130
    44
    32
    99
    111
    109
    109
    101
    110
    116
    32
    135
    97
    32
    118
    97
    32
    63
    tu peux donc récupérer tout les caractères qui sortent de la plage ;-)
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 87
    Points
    87
    Par défaut
    Citation Envoyé par titoumimi Voir le message
    Bonjour
    Décidément, toujours sur la brêche

    Merci, je vais tester ça dès que j'ai un peu de temps, puis je poste le résultat.

    G.

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

Discussions similaires

  1. Trouver des noms de fichiers avec des caractères non ASCII
    Par llaffont dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 16/10/2012, 14h06
  2. Réponses: 3
    Dernier message: 08/02/2008, 19h34
  3. Gestion des caractères non-imprimables
    Par azr dans le forum Langage
    Réponses: 2
    Dernier message: 17/12/2007, 22h37
  4. [SQL-2005] Rechercher des caractères non numériques
    Par castaka dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/05/2007, 11h12
  5. Problème (éviter des caractères non voulu)
    Par Le Rebel dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 13h30

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