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. VBA - 檢查日期字符串的有效性
- 6. 如何檢查日期字符串的有效性?
- 7. 檢查一個UTF8編碼字符串的有效性
- 8. 使用正則表達式檢查字符串的有效性
- 9. 檢查字符串是否爲Elixir中的日期
- 10. 檢查給定字符串/數字中的昏迷的有效性在php
- 11. 如何檢查查詢字符串中的ID是否有效?
- 12. 有效檢查字符?
- 13. 如何檢查一個字符串是否在Elixir中爲空
- 14. 檢查字符串是否有有效的數字
- 15. 在執行SQL過濾detailsview之前檢查查詢字符串的有效性
- 16. C#安全性:檢查查詢字符串有效的.pdf文件名
- 17. 檢查字符串中的有效域名?
- 18. 如何檢查bash中的有效字符串輸入?
- 19. 在Python中檢查有效的utf8字符串
- 20. 檢查字符串中的有效域名?
- 21. 檢查PHP字符串中的無效字符
- 22. 在運行時檢查字符串文字聯合類型的有效性?
- 23. 遞歸檢查數字的有效性
- 24. Laravel檢查字符串是否是有效的時間戳字符串
- 25. 如何檢查文件字符串路徑在java中有效
- 26. 檢查JSONPath字符串是否在C#中有效
- 27. Python:檢查字符串中的字符
- 28. 檢查字符串中的字符
- 29. C++檢查,如果字符串具有有效的UTF-8字符
- 30. 檢查URL的有效性