Développement Web Ruby
par Sylvain CLAUDEL

Interpréter une sequence unicode en ruby

Date d'édition 2019-10-15 à 15:30

Il peut être nécessaire d'interpréter une séquence unicode en ruby.

Voici un exemple :

puts 's\u00E9par\u00E9'
# Affiche "s\u00E9par\u00E9"

Là vous pourriez dire qu'il suffit de double-quoter pour que les séquences unicodes soient interprétées :

puts "s\u00E9par\u00E9"
# Affiche "séparé"

C'est vrai, mais nous ne maitrisons pas les données qui arrivent (par exemple dans le cadre d'une API REST avec un client qui ne sait pas envoyer des caractères unicodes d'une autre manière. Voici une solution :

str = 's\u00E9par\u00E9'
eval('"' + str + '"')
# Affiche "séparé"
Développement ruby et geekeries - rivsc