/ / Alphabetize testo arabo e giapponese che è in Unicode? - rubino, smistamento, unicode

Alphabetize testo arabo e giapponese che è in Unicode? - rubino, smistamento, unicode

Qualcuno ha qualche codice per l'alfabetizzazione del testo arabo e giapponese che è in Unicode? Se il codice fosse in rubino sarebbe fantastico.

risposte:

4 per risposta № 1

I punti di codice Unicode non sono elencati in ordine alfabetico (Z <a, ad esempio), ma cercano comunque di essere approssimativamente in questo ordine. Esiste un ordine unicode canonico, definito dal Algoritmo di confronto Unicode e sono anche ordinamenti 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 la Libreria ICU contiene gli algoritmi specifici della lingua che stai cercando.


0 per risposta № 2

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 di simile in Ruby. Suppongo che i simboli arabi siano elencati in unicode in ordine alfabetico.


0 per risposta № 3

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


0 per risposta № 4

A seconda delle esigenze words.sort nel 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 anche ok.


0 per risposta № 5

mylist.sort dovrebbe funzionare senza problemi in Ruby 1.9 (che ha un supporto unicode integrato). In Ruby 1.8, dove il supporto Unicode non è integrato, penso che dovresti usare il character-encodings gem estende la classe String con le stringhe di utf-8. (E poi mylist.sort funzionerebbe.)