Facebook のプロフィール欄の文字数はバイト数でカウントしている

Facebook のプロフィールを変更しようとしたら、更新ボタンを押しても更新されていないようで、色々試していたら「○文字まで」ではなく「○バイトまで」という制限であることが分かった。

155文字ではなくて、155バイトの誤りだというのです。
もしそうなら、文字コードUTF-8だと半角英数字は1文字1バイトですので関係ないですが、日本語文字だと1文字3バイトになるので、51文字(153バイト)までしか書けないことになります。

そこで、実験してみました。
確かに51文字では更新なりましたが、52文字(156バイト)では更新できず、更新前のままです。

文字数とバイト数の問題、少し前の Twitter でも話題になったかも。現在は Unicode の複合文字が「見た目1文字」でも複数文字とカウントされる件があるけども。

低レベルなニホンノエスイーは Shift-JIS しか文字コードを知らず、Shift-JIS を使う仕事しかしたことがないので、全角文字は必ず2バイトと思って勘違いしてバグを引き起こしたりしているが、英語圏の国の場合はそもそも1バイト1文字の文字しか扱わないことがほとんどなのかも。

国際化対応って本当に面倒臭い…。