- 20年前、Joel は「Plain Text など存在しない」と述べ、エンコーディングを必ず理解すべきだと強調した
- Unicode は、あらゆる人間の言語をコンピュータで扱えるように統合する標準
- それぞれ異なる文字に固有の番号を割り当てるコードポイントのシステム
- 最大のコードポイントは 0x10FFFF で、約110万のコードポイント空間を提供
- UTF-8 は最も一般的なエンコーディングで、98%の確率で使われている
- UTF-8 は可変長エンコーディングで、コードポイントは 1〜4 バイトのシーケンスにエンコードできる
- UTF-8 は ASCII とバイト互換性があり、基本ラテン文字に対して空間効率が高い
- UTF-8 には組み込みのエラー検出と復旧機能があり、完全で有効な UTF-8 バイトシーケンスを識別できる
- 拡張書記素クラスタ、または書記素は、コードポイントではなく反復処理すべき単位である
- Unicode は毎年更新され、書記素クラスタを定義する規則も毎年変更される
- Unicode はロケールによって異なる形でレンダリングされることがある
- Unicode のサロゲートペアは、単一の Unicode コードポイントをエンコードするために使われる 2 つの UTF-16 単位である
- UTF-16 は一部のシステムで依然としてメモリ内表現として使われている
- Unicode 文字列は比較する前に正規化しなければならない
- 記事は、
strlen、indexOf、substring のような基本的な操作でさえ、Unicode ライブラリを使う重要性を強調している
3件のコメント
"♂️".lengthの場合、Python 3.11 では 1 を返しますね。絵文字がコメントで文字化けしていますね
Hacker Newsの意見