gpt4 book ai didi

rust - 如何将切片与字节字符串文字进行比较?

转载 作者:行者123 更新时间:2023-12-03 11:32:29 26 4
gpt4 key购买 nike

我有一个方法试图将[u8]的切片与许多字节字符串文字匹配:

pub(crate) fn from_slice(slice: &[u8]) -> Option<SqlStateCode> {
match slice {
b"3030303030" => Some(SqlStateCode::SuccessfulCompletion),
b"3031303030" => Some(SqlStateCode::Warning),
b"3031303043" => Some(SqlStateCode::DynamicResultSetsReturned),
_=> None
}
}
除非它将字节字符串文字替换为数组,否则它将不起作用:
[30, 31, 30, 30, 43] => Some(SqlStateCode::DynamicResultSetsReturned)
有没有一种方法可以使该工作与文字一致?

最佳答案

您的字节字符串文字不正确;字节字符串文字b"3031303043"与切片[30, 31, 30, 30, 43]不对应,而是与切片[51, 48, 51, 49, 51, 48, 51, 48, 52, 51]相对应。
这是因为文字中的每个字符都被切片中的ASCII值替换。
使用控制字符的十六进制转义序列的[30, 31, 30, 30, 43]的相应字节字符串文字应为b"\x1E\x1F\x1E\x1E+"

关于rust - 如何将切片与字节字符串文字进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65492074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com