2 min read

String Escape Characters

Introduction

In this blog post, we'll explore the concept of string escape characters in Solidity 0.8.16, including how they work and how to use them with examples.

In Solidity, string escape characters are special characters that are used to represent non-printable or special characters within a string. They are typically represented by a backslash (\) followed by a specific character or sequence of characters.

Here are some of the most commonly used string escape characters in Solidity:

  • \n: represents a new line
  • \r: represents a carriage return
  • \t: represents a tab
  • \": represents a double quote
  • \': represents a single quote
  • \\: represents a backslash

By using string escape characters, you can include special characters within a string that would otherwise not be possible to include directly.

Let's take a look at some examples to see how string escape characters work in Solidity.

Example 1: New Line and Carriage Return

string public message = "Hello\nworld\r!";

In this example, we're defining a string variable called message and setting its value to "Hello\nworld\r!". The \n escape character represents a new line, and the \r escape character represents a carriage return. When we print out the value of message, we'll see that "Hello" and "world" are on separate lines, and there is an exclamation point at the end of the second line.

Example 2: Double Quote and Backslash

string public message = "I said, \"Hello, world!\" \\";

In this example, we're defining a string variable called message and setting its value to "I said, "Hello, world!" ". The \" escape character represents a double quote, and the \\ escape character represents a backslash. When we print out the value of message, we'll see that it includes both double quotes and a backslash.

Example 3: Tab

string public message = "First Name\tLast Name";

In this example, we're defining a string variable called message and setting its value to "First Name\tLast Name". The \t escape character represents a tab. When we print out the value of message, we'll see that "First Name" and "Last Name" are separated by a tab.

Example 4: Unicode Escape Sequence

string public message = "\u2665 Solidity";

In this example, we're defining a string variable called message and setting its value to "\u2665 Solidity". The \u escape character is used to represent a Unicode escape sequence. In this case, the sequence \u2665 represents the Unicode character for a heart symbol. When we print out the value of message, we'll see a heart symbol followed by the word "Solidity".

Conclusion

That's it! These are just a few examples of how you can use string escape characters in Solidity to include special characters within a string. With this knowledge, you can create more expressive and dynamic smart contracts that can handle a wider range of inputs.