Byte Type Array in Solidity
25 January, 2023
0
0
0
Contributors
The byte types in Solidity are comprised of fixed-sized and dynamic-sized byte arrays.
Fixed-sized byte arrays:
The value types bytes1, bytes2, bytes3, …, bytes32 hold a sequence of bytes from one to up to 32.
Operators:
- Comparisons: <=, <, ==, !=, >=, > (evaluate to bool)
- Bit operators: &, |, ^ (bitwise exclusive or), ~ (bitwise negation)
- Shift operators: << (left shift), >> (right shift)
- Index access: If x is of type bytesn, then x[k] for 0 <= k < n returns the k th byte (read-only).
Members:
The length function yields the fixed length of the byte array (read-only).
Dynamically-sized byte array:
The bytes data type in Solidity is a byte[] array with a dynamically changing size. Because it is dynamically sized, the length of this type can increase and shrink as necessary. As opposed to the bytes1, bytes2,..., bytes31, and bytes32 types, the bytes type stores densely packed data, whereas the bytesN type does not
In the case of the bytes type variables, an empty string is used as their first value. Using the Remix IDE, you can see that it returns 0x, which means that it is a byte[] array with a length of 0.
Although there is no direct operator support for bytes, you may find yourself needing to compare two bytes variables from time to time.
For more content, follow me on - https://linktr.ee/shlokkumar2303
blockchain
web3
ethereum
solidity