Terry Michaels wrote in post #995906: > This is probably obvious in the docs and I'm just missing it, but here > goes: So, I see there is str.each_codepoint, which I want to use in a > function to convert Unicode Strings to a list of Unicode code points. > But what can I do if I have a list of Unicode code points and want to > convert them back into a String? #encoding: UTF-8 #That comment tells ruby to treat string literals in my source code, like #the one below, as utf-8 encoded. str = "\xE2\x82\xAC\xE2\x82\xAC" codes = str.each_codepoint.to_a p codes puts codes.map {|code| code.chr(Encoding::UTF_8) }.join(" ") --output:-- [8364, 8364] (You should see two euro symbols as the last line of output.) I don't know where you are getting your string, but you can always do this: str = "\xE2\x82\xAC\xE2\x82\xAC" str.force_encoding("UTF-8") codes = str.each_codepoint.to_a p codes puts codes.map {|code| code.chr(Encoding::UTF_8) }.join(" ") --output:-- [8364, 8364] (You should see two euro symbols as the last line of output.)