[C++] 152 マルチバイト文字有無の判定

[M1 Mac, Big Sur 11.6.8, clang 13.0.0, NO IDE]

HTMLやCSSではカラーコードは#を先頭に付けます。

ただ、この#が曲者で1バイト文字、3バイト文字(数学記号)、3バイト文字(全角)の3種類あります。

ネット初心者以外ではまずないとは思いますが、後2者が混ざり込んでいるのに気が付かずネットに貼ってしまう方がいたりします。全角の場合は見れば分かるものの、数学記号の方は見た目が全く同じで厄介です。

そのようなカラーコードをアプリにコピペした際、不具合が生じないようにするため合計バイト数が7である場合のみ処理を進めるようにしました。

文字列が可変長の場合については調査中です。

ネットから#を含む文字列をコピペする場合はそのようなリスクがあることを知っておくべきでしょうね。

int multibyteDetect(string str){
    int length = str.length();
    cout << "length " << length << endl;

    if (length != 7){
        return -1;
    }
    return 0;
}