为什么在字节数组上使用 AsciiString::from_ascii 时会出现错误“索引处的字节不是 ASCII”?

Joh*_*867 -1 ascii rust

ascii::AsciiString::from_ascii在字节数组上运行时出现错误。

错误是 thread 'main' panicked at 'Failed: the byte at index 3 is not ASCII'

位置 3 处的字节是 137,它应该是 a ë。我还得到了位置 2 和 4 的值,只是为了确定我的索引没有任何问题,而且它们似乎都有合适的值。

bytes[2] = 38 // &
bytes[3] = 137 // ë
bytes[4] = 56 // 8

我不明白我在这里做错了什么。阅读此功能文档我不完全确定为什么这不起作用。

我做错了什么,为什么会抛出这个错误?

Sha*_*ger 5

ASCII 以序数值 127 结束;ë不是 ASCII(137 也不是ëlatin-1 或 cp1252 中的序数值,人们经常误认为是 ASCII)。该错误正确地通知您这一点。