2011-01-15 4 views
0

Hallo Ich arbeite an einem Projekt, das eine Analyse der hebräischen Zeichen benötigt.Ruby Hexadezimal in Zeichen umwandeln und drucken (Unicode Hebräisch)

Ich habe einen Fall wie so

letter = case 

     when (a[0] == "1") && (a[1] == "2"): "He ה" 
     ... 
     end 

p letter 

=> "He ה" 

Ich mag auch das hebräische Zeichen von Unicode Hex-Zahl drucken (für He 05D4), etwa so:

letter = case 
     when (a[0] == "1") && (a[1] == "2"): "\05D4 He ה" 
     ... 
     end 

p letter 

Desired output => "ה He ה" 
Actual output => "\005D4 He ה" 

Rubin 1.8.8. $ KCODE = "u" ist über dem Code gesetzt.

Was muss ich tun? Ich habe ein paar verschiedene Dinge ohne Erfolg ausprobiert (z. B. ['05D5'.hex] .pack ("C")) => Fehler Char außerhalb des Bereichs

Vielen Dank im Voraus.

Antwort

0

Das einzige Problem ist Ihr Debugging-Code. Kernel#p schreibt Objekt.inspect, und das versucht vielleicht ein bisschen zu schwer, Ihnen interne Struktur zu zeigen.

Verwenden Sie einfach eine echte I/O-Methode wie puts und ich denke, es wird Ihnen gut gehen.

+0

Danke. Ich habe Puts benutzt und jetzt ist die Ausgabe "D4 He ה". Aargh. – netefficacy