2026年8月10日(月)掲載 3,430本日 30
HN305

UTF-8の解釈がコンパイラ間で割れる時:予期せぬバグを回避する

When Compilers Disagree About UTF‑8

rbanffy5日前

議論

2
1kstenerud5日前

SIMD命令を使えば、上位ビットがクリアされているバイトシーケンスを検出できるから、バイトごとのループ処理なしでASCIIテキストを一括コピーできるよ。もう一つの最適化として、コードポイントの使用傾向がその言語に固まるっていう性質を利用する手もある。例えば3バイトエンコーディングが使われているなら、ASCIIや絵文字を除けば、その後も3バイトのエンコーディングが続く可能性が高い。これを使えば、ステートマシンの構築においてさらに面白い工夫ができるはず。