Solidityで日本語の文字列(マルチバイト文字)を扱う方法について解説します。
構文
Solidityで日本語の文字列を扱うには、文字列の前にunicodeプレフィックスを付けます。
unicode"文字列"
サンプルコード
実際のコードを見た方が分かり易いと思いますので、以下にサンプルコードを記します。
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract Test {
// 日本語の文字列を変数に代入
string greeting = unicode"こんにちは😃";
function sayHello() public view returns(string memory) {
return greeting;
}
}
日本語など英語以外の文字列(マルチバイト文字)を扱う場合、取り敢えずunicodeのプレフィックスを付けてやればOKです。