如何通过解析转义字符串在 Haskell 中组成未转义的 Unicode 字符串?

How do you compose an unescaped Unicode string in Haskell by parsing the escaped string?

我正在解析一些可能是“\u3200”的文本。解析这个并转换为十进制,我知道整数序列应该是 12800。现在,我想把它放回去;我可能会执行以下操作:

toPrintedChar x = return "\x" ++ x

但是,这个returns 是一个转义序列,不会打印与之关联的 Unicode 字符。我不清楚如何创建一个没有转义字符的新字符串。

我可以自己创建字符串:

toPrintedChar x = return "\x12800"

这确实打印了 Unicode 表示。我想知道我通常如何做到这一点? 谢谢!

要将整数值转换为由该 Unicode 代码点组成的字符串,只需将数字转换为 Char,然后将其放入列表中即可。例如,

myString :: String
myString = [ toEnum 12800 ]