2016-07-19 2 views
0

j'ai chaîne suivanteaccès caractères de script urdu

test="ن گ ب ن د ی ک ر و ا ن " 

ce que je veux est que je veux accéder à chaque personnage et l'enregistrer dans certaines variables pour l'accès futur mais quand je mis en boucle sur eux je suis arrivé sortie bizarre. En fait, je ne suis pas au courant des schémas d'encodage.

for i in test: 
    print(i) 

code ci-dessus m'a donné quelques personnages étranges ce que je veux est les personnages de script original?

+0

La console est-elle imprimée pour prendre en charge ces caractères? Ici, sur mon Ubunut, ça fonctionne bien. Comment est codé votre fichier Python? –

+0

Utilisez-vous Python 3 ou Python 2? –

Répondre

3

Soit définir test comme une chaîne unicode, ou utiliser la méthode decode:

test="ن گ ب ن د ی ک ر و ا ن" 
for i in test.decode('utf8'): 
    print(i) 
    # print unicode value 
    print(repr(i)) 

test=u"ن گ ب ن د ی ک ر و ا ن" 
for i in test: 
    print(i) 
    # print unicode value 
    print(repr(i)) 

Il est évident que ma réponse concerne Python 2.7.x.

+0

En Python 3, 'test' * est * Unicode. –

+0

Bravo !!!!!!!!!! –

+1

@FullName oui mais alors son code n'imprimerait pas de caractères étranges – Frodon

0

Pour Python 2.x essayez ceci:

test=u"ن گ ب ن د ی ک ر و ا ن " 
for i in test: 
    print(i) 

u rend Adjonction un objet unicode.

+0

Pourquoi êtes-vous sûr qu'il utilise Python 2.x? –

+0

Je ne suis pas qui est la raison pour laquelle j'ai édité la réponse. – shiva