我正在学习Solidity。我想检查一个内存字符串变量是否为null、空或者只包含空格。
我知道我需要这样检查:
bytes(_content).length > 0
然而,这并不包括空白符。检查空白符的最佳方法是什么? 或者您认为此检查不应属于 s。
我正在学习Solidity。我想检查一个内存字符串变量是否为null、空或者只包含空格。
我知道我需要这样检查:
bytes(_content).length > 0
如果你将空字符串转换为字节,你会得到 0x
如果你将一个空格转换为字节,你会得到 0x20
每个空格都会增加另外一个20。例如 2 个空格
" " 是 0x2020
空字符串字符始终返回 "20",据我所知,自 Solidity 6.0.0 以来,我们可以使用字节数组进行切片操作。例如
bytes test = '0xabcd'
test[2:5]; # 'abc'
。
bytes whitespaces='0x20202020202020'
您可以编写一个for循环,从2开始直到结尾,如果偶数索引为2且奇数索引为0,则表示您仅具有空格。