>>191
1 charは常に2バイトではない。あなたはマルチバイト文字列の基礎を理解していないようだ。
マルチバイト文字列中の複数のcharが一文字になっているか否かは、
文字列の先頭から1charごとにcharの値の範囲を確認し、lead byteかtrail byteかを判定するしかない。