リテラルが混在しているものから文字を一個ごとに切り出したいとします。
この場合、ぱっと思いつくのはscanですが……
"\u0012aga\x98ga987HH".scan(/.{1}/) #=> ["\x12", "a", "g", "a", "枠", "a", "9", "8", "7", "H", "H"]
と、変に気を利かせて\x98gを"枠"と解釈して……くれたんですかね?(困惑*1
というわけで、文字の配列を得たい場合はunpackを使ったほうが良いです。
切り分け文字が思い出せなかったので、ここではmapにchrメソッド渡して処理しましたが……。
"\u0012aga\x98ga987HH".unpack("C*").map(&:chr) #=> ["\x12", "a", "g", "a", "\x98", "g", "a", "9", "8", "7", "H", "H"]