回答編集履歴
1
文字カウント方法追記
answer
CHANGED
@@ -11,4 +11,5 @@
|
|
11
11
|
前の質問から、UTF8で日本語入力のみかつ日本語は3バイトと決め打ちしているようですが、4バイトになる文字もあります。
|
12
12
|
[UTF-8で4バイトになる文字](https://www.softel.co.jp/blogs/tech/archives/596)
|
13
13
|
|
14
|
-
ロケールを正しく設定した上で[mbstowcs](https://linuxjm.osdn.jp/html/LDP_man-pages/man3/mbstowcs.3.html)で変換すると文字数を取得できます。
|
14
|
+
ロケールを正しく設定した上で[mbstowcs](https://linuxjm.osdn.jp/html/LDP_man-pages/man3/mbstowcs.3.html)で変換すると文字数を取得できます。
|
15
|
+
もしくは、不正なバイト列は含まれていないものとして[UTF-8 エンコード体系](https://ja.wikipedia.org/wiki/UTF-8#%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%E4%BD%93%E7%B3%BB)を参考に最上位ビットが立っていないものの数をカウント。
|