エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
不正なバイト列を考慮して UTF-8 の文字列から1文字ずつ取り出す
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
不正なバイト列を考慮して UTF-8 の文字列から1文字ずつ取り出す
ライブラリやプログラミング言語で UTF-8 の文字列関数を実装する場合、不正なバイト列に遭遇しても、処... ライブラリやプログラミング言語で UTF-8 の文字列関数を実装する場合、不正なバイト列に遭遇しても、処理を続けることが求められます。 最小限必要な関数は次の文字のバイト数を返す関数です。 C 言語の標準関数であれば mblen や mbtowc などが挙げられますが、これらの関数は不正なバイト列に遭遇すると、負の値を返すため、処理を止めるか、不正なバイト列よりも後ろの箇所を切り捨てざるを得なくなります。 不正なバイト列のサイズの計算方法は Unicode Standard に記載されています。 バイト列の範囲表 Unicode Standard 7.0 の3章に次のような表が記載されています (Table 3-7. Well-Formed UTF-8 Byte Sequences)。 コードポイント 1番目のバイト 2番目のバイト 3番目のバイト 4番目のバイト U+0000 - U+0