2010-07-28 9 views
5

existe-t-il une solution simple/légère pour remplacer au moins certains symboles non-ASCII par des analogues ASCII respectifs? Par exemple, cette chaînedowngrade symboles non-ascii à l'équivalent ASCII 7 bits le plus proche (de préférence Java)

abc-åäö.txt 

devrait être modifiée pour

abc-aao.txt 

Un peu d'histoire: outils Zip-ne prennent pas en charge de manière fiable UTF-8, d'où la nécessité de rétrograder. AFAICR La fonctionnalité "Télécharger les pièces jointes en tant que fichier zip unique" de Google remplace tous les symboles non-ascii par le caractère '_'. PS: le code pourrait aussi bien être dans une autre langue, s'il est plus ou moins compréhensible, je le porterai sur Java. PPS: ma première question jusqu'ici, alors s'il vous plaît ne me sous-sol pas d'accord?

+2

duplication possible de [Conversion de symboles, Lettres d'accent en alphabet anglais.] (Http://stackoverflow.com/questions/1008802/converting-symbols-accent-letters-to-english-alphabet) – McDowell

+0

Alors, comment procédons-nous? , fermez ceci comme un doublon? Les questions sont apparemment assez proches mais je n'ai toujours pas pu voir celui-là avant de poster le mien ... –

+0

duplicata possible de [Remplacer les caractères nationaux par l'équivalent ASCII.] (Http://stackoverflow.com/questions/3194516/replace-national- caractères-avec-équivalent-ascii) – dan04

Répondre

1

Peut-être que this le ferait?

+0

merci pour la référence, mais je ne vois pas le code réel là, apparemment c'est soit déjà une partie de JRE (que java.text.Normalizer ou quelque chose de similaire) ou pas une solution légère ... –

0

Si vous envisagez d'utiliser python, il y a un paquet python assez bien appelé unidecode, qui peut obtenir le TransLite ASCII rations de texte Unicode.