检查elixir中字符串的有效性

检查elixir中字符串的有效性,elixir,Elixir,为什么下面的字符串不是有效的二进制字符串 String.valid?(<<239, 191, 191>>) false String.valid?() 假的 UTF-8中的字节2391191191解码为Unicode码点U+FFFF: iex(1)> <<x::utf8>> = <<239, 191, 191>> <<239, 191, 191>> iex(2)> x 65535 iex

为什么下面的字符串不是有效的二进制字符串

String.valid?(<<239, 191, 191>>)
false
String.valid?()
假的

UTF-8中的字节
2391191191
解码为Unicode码点
U+FFFF

iex(1)> <<x::utf8>> = <<239, 191, 191>>
<<239, 191, 191>>
iex(2)> x
65535
iex(3)> x == 0xFFFF
true
输出:

{<<0>>, true, true}
{<<239, 191, 191>>, false, true}
{<<128>>, false, false}
{,真的,真的}
{,假,真}
{,假,假}
{<<0>>, true, true}
{<<239, 191, 191>>, false, true}
{<<128>>, false, false}