文字列長の制限における落とし穴
2025-04-30
この記事では、文字列長の制限の複雑さについて深く掘り下げています。文字コード(UTF-8、UTF-16、Unicodeコードポイント、グラフェムクラスタ)の違いにより、長さの計算方法が異なり、フロントエンド、バックエンド、データベースなどのレイヤー間で不整合が生じやすく、バグの原因となります。著者は、完璧ではありませんが、NFC正規化を用いたUnicodeコードポイントのカウントを最良の方法として提案しています。この記事では、グラフェムクラスタのカウント、UTF-8バイトのカウント、UTF-16コードユニットのカウントなどの方法の長所と短所についても考察し、ハイブリッドカウント方法のサンプルコードを提供しています。
開発
文字列長