2010-03-02 9 views
5

Qualcuno ha qualche codice per l'alfabeto del testo arabo e giapponese che si trova in Unicode? Se il codice fosse in rubino sarebbe fantastico.Alfabetizzare il testo arabo e giapponese che si trova in Unicode?

+2

Non vedo cosa questo debba fare specificamente con l'iPhone. –

+0

I caratteri arabi e giapponesi fanno parte dell'alfabeto arabo giapponese. Penso che alcune persone potrebbero prendere la tua domanda come un insulto. – johannes

+1

@johannes: Non penso che "alfabetizzare" significhi "convertire in un alfabeto inglese", ma "ordinare in un ordine appropriato". –

risposta

4

I punti di codice Unicode non sono elencati in ordine alfabetico (Z < a, ad esempio), ma cercano comunque di essere approssimativamente in tale ordine. Esiste un ordine unicode canonico, definito dallo Unicode Collation Algorithm e sono anche ordini specifici della lingua (l'ordine francese non è esattamente lo stesso dell'ordine tedesco o ceco, anche con lo stesso alfabeto), che può essere specificato nelle informazioni locali. Penso che lo ICU library contenga gli algoritmi specifici della lingua che stai cercando.

0

Non conosco Ruby, ma python ha una funzione, ord() che traduce un carattere speciale Unicode nel suo punto di codice Unicode. Ad esempio,

>>> a = u'ل' 
>>> ord(a) 
0: 1604 
>>> b = u'ع' 
>>> ord(b) 
1: 1593 

Cerca qualcosa del genere in Ruby. Suppongo che i simboli arabi siano elencati in unicode in ordine alfabetico.

+1

Questo può aiutare con questa domanda? Se lo facessimo con caratteri latini ordinari, significherebbe che le lettere sarebbero state ordinate in modo maiuscolo o minuscolo, il che non avrebbe senso in alcune situazioni. –

+0

Giusto, se questo vale anche per l'arabo e il giapponese, suppongo che l'OP debba tenerne conto. –

0

Per fare la domanda ovvia, cosa non ti piace di mylist.sort?

+0

mylist.sort funziona con Unicode e conosce l'ordine alfabetico dell'alfabeto arabo o giapponese? –

+0

... perché non provi e vedi? –

0

A seconda delle esigenze words.sort in rubino andrà bene per il giapponese. L'ordine in cui i caratteri appaiono in Unicode sono in ordine di ordinamento ragionevolmente buono. Non posso garantire per l'arabo, ma la mia ipotesi è che sia ok.

0

mylist.sort dovrebbe funzionare senza problemi in Ruby 1.9 (che ha il supporto integrato in Unicode). In Ruby 1.8, dove il supporto Unicode non è integrato, penso che dovresti usare la gemma character-encodings estendere la classe String con le stringhe UTF-8. (E quindi funzionerebbe.)

Problemi correlati