1
A
回答
5
的字节239, 191, 191
以UTF-8进行解码,以Unicode的码点U+FFFF
:
iex(1)> <<x::utf8>> = <<239, 191, 191>>
<<239, 191, 191>>
iex(2)> x
65535
iex(3)> x == 0xFFFF
true
其是Unicode Non-Character和String.valid?/1
has a list of all such characters并在遇到任何那些的返回false
。
我找不到任何功能灵药,只有检查UTF-8有效性,并跳过非字符检查,但它是微不足道的写一个:
defmodule A do
def valid_utf8?(<<_::utf8, rest::binary>>), do: valid_utf8?(rest)
def valid_utf8?(<<>>), do: true
def valid_utf8?(_), do: false
end
for binary <- [<<0>>, <<239, 191, 191>>, <<128>>] do
IO.inspect {binary, String.valid?(binary), A.valid_utf8?(binary)}
end
输出:
{<<0>>, true, true}
{<<239, 191, 191>>, false, true}
{<<128>>, false, false}
相关问题
- 1. 检查UTF16字符串中的所有字符是否有效?
- 2. 检查替换字符串是有效
- 3. 检查字符串是否有效
- 4. 如何检查日期字符串的有效性?
- 5. 使用正则表达式检查字符串的有效性
- 6. 检查字符串是否为Elixir中的日期
- 7. 如何检查查询字符串中的ID是否有效?
- 8. 有效检查字符?
- 9. C#安全性:检查查询字符串有效的.pdf文件名
- 10. 检查PHP字符串中的无效字符
- 11. 如何检查bash中的有效字符串输入?
- 12. 在Python中检查有效的utf8字符串
- 13. 检查字符串中的有效域名?
- 14. 在运行时检查字符串文字联合类型的有效性?
- 15. 检查JSONPath字符串是否在C#中有效
- 16. 如何检查文件字符串路径在java中有效
- 17. 检查字符串中的字符
- 18. C++检查,如果字符串具有有效的UTF-8字符
- 19. Java的检查,如果字符串是有效的文件
- 20. 检查URL的有效性
- 21. 检查字符串的子字符串
- 22. 有效检查一个字符串是否包含另一个字符串
- 23. JavaScript字符串的正则表达式(CSS有效性检查+转化率)
- 24. Elixir中的字符串比较
- 25. Jquery或JS:如何检查字符串上的无效字符?
- 26. 如何检查字符串是否是有效的HTTP URL?
- 27. 如何检查给定的字符串是否有效月份?
- 28. 检查字符串是否包含有效的Python代码
- 29. 如何检查一个有效的Base64编码字符串
- 30. 如何检查是字符串有效的JavaScript?