DEV Community

Loading Blocks
Loading Blocks

Posted on

Strings & Bytes

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");
}

Enter fullscreen mode Exit fullscreen mode

Top comments (0)