Существует метод, который помогает извлечь символы, найденные в вашей строке:
"foo\u00A0bar".chars.to_a
# => ["f", "o", "o", " ", "b", "a", "r"]
Поскольку некоторые из этих символов могут быть многобайтовыми символами UNICODE, возможно, вы захотите расширить их до байтов, чтобы быть более подробным:
"foo\u00A0bar".chars.to_a.collect { |c| [ c, c.bytes.to_a ] }
# => [["f", [102]], ["o", [111]], ["o", [111]], [" ", [194, 160]], ["b", [98]], ["a", [97]], ["r", [114]]]
Массив разбивает конкретные байты, используемые для создания этого символа. В этом случае неразрывный пробел отображается как " "
, но на самом деле [194, 160]
внутри.