Convertir NSURL en NSString en décodant les caractères spéciaux

jeangabijeangabi Membre
23:45 modifié dans API AppKit #1
Salut à  tous,

dans mon appli, je récupère depuis un fichier XML des chemins d'accès à  des fichiers de la forme "file://localhost/Volumes/Disque/...", c'est à  dire sous forme d'URL.

De ce fait, si le chemin contient un espace, il est encodé par "%20" et pour les caractère accentués c'est pareil, ils sont remplacés par un encodage spécial (ex: "%C3%A9" pour "é").

J'aimerais afficher ces chemins dans un NSTableView mais je n'arrive pas à  décoder le NSURL pour récupérer les espaces et les caractères accentués.

Quelqu'un a-t-il une solution?

:why?:

Réponses

  • muqaddarmuqaddar Administrateur
    23:45 modifié #2
    Bein il faudrait faire une méthode perso pour exploser les chaà®nes et remplacer chaque occurence de %20 par un espace " " et pareil pour les autres accents ou caractères spéciaux non ?
  • fouffouf Membre
    23:45 modifié #3
    Est-ce que tu as essaye laChaine = [uneURL absoluteString]; ? Je ne sais pas ce que cela donne  ::)
  • BruBru Membre
    23:45 modifié #4
    La norme de codage (représentation) des urls interdit tout caractère ascii dont le code est au delà  de 127 (donc pas d'accent), et transforme certains signes de ponctuation (dont l'espace, considéré comme séparateur d'argument).

    Si tu veux afficher ton url de manière plus humaine, essaie de la transformer en path système : tu devrais récupérer les espaces et autres lettres accentuées.

    .
Connectez-vous ou Inscrivez-vous pour répondre.