string: UTF-8 encoded text. Limited functions. Cannot access index or length directly.
bytes: dynamic byte array. More powerful.
supports .length
supports index access and modification
Conversions:
string ↔ bytes explicit conversion
concatenation: string.concat(a, b)
function manipulateString(string memory myString) public pure returns (string memory) {
// string -> bytes
bytes memory myBytes = bytes(myString);
uint len = myBytes.length;
if (len > 0) {
myBytes[0] = 'a';
}
// bytes -> string
string memory modifiedString = string(myBytes);
// concat
return string.concat(modifiedString, " appended");
}
Top comments (0)