我有一个像 "\3619\3657\3634\3609\3648\3592\3657\3648\3621\3657\3591" 这样的字符串,我想对其进行解码。我尝试搜索 unicode 库但没有成功。

最佳答案



请注意,您实际上没有字符串 "\3619\3657\3634\3609\3648\3592\3657\3648\3621\3657\3591" - 相反,您有 UTF-32 字符串 ร้านเจ้เล้ง ,其中 "\3619\3657..." 恰好是符合 ASCII 的文字。默认情况下,GHCi 使用 Show 实例来显示结果,它不会显示事物,而是吐出可以用作事物的 Haskell 代码的文字。它在 unicode 方面是保守的。这就是为什么



另一方面, putStrLnputCharhPutStr 等函数只会将字符串本身转储为 UTF-8 而不是其 ASCII 安全表示。

如果您实际上是从文件或其他内容中读取转义字符串,则可以简单地读取它:

关于haskell - 如何在 Haskell 中将 Unicode 转义序列转换为 Unicode 字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24953125/

10-11 19:18