我正在阅读 mongodb 并使用 Bson.decoder(data)。在此过程中,数据变成包含 {"unitˊs", 1} 的元组列表。 String.to_atom("unitˊs") 显然失败,因为第 5 个字符是“MODIFIER LETTER ACUTE ACCENT (U+02CA)”,其中
** (ArgumentError) 参数错误
:erlang.binary_to_atom("单位ˊs", :utf8)
和http://erlang.org/doc/man/erlang.html#binary_to_atom-2笔记
如果二进制文件包含大于 16#FF 的 Unicode 字符,binary_to_atom(Binary, utf8) 将失败
有什么建议的解决方法吗?
最佳答案
在 Erlang 18 之前没有任何解决方法,它将支持原子的完整 unicode 范围。所以最好的选择是现在不要将其转换为原子。
关于mongodb - Elixir Bson 解码器在 utf8 > 16#FF 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27748643/