Unicodeとは
文字コードの規格です。 悩みの種です。
悩みの種いろいろ
サロゲートペア
Unicodeは当初16ビットで全ての文字を表すことを予定していたのですが、 早々に破綻しました。そのため、互換性のために、 16ビットを2つ組み合わせることで1つの文字を表す仕組みを導入しました。 代表的な文字が「𠮷」(つちよし)です。 この影響があるのはJavaなどで採用されているUTF-16です。
円マーク問題
元々はISO/IEC 646が持つ曖昧さおよび、 Windowsがバックスラッシュ(日本語版では円マーク)をパスの区切りに使用したために起きた問題です。
互換性
文字幅
一部の文字にEast_Asian_Width特性というのがあります。 これがA(曖昧)である文字は、フォントは全角相当なのにもかかわらず、 幅が相当として表示されるため、カーソルの位置がズレてしまうことがあります。
この問題を回避するために、例えばMacのTerminal.appでは、 「Unicode 東アジアA(曖昧)の文字幅をW(広)にする」という設定があります。
正規化
有名な問題として、MacのファイルシステムHFS+の正規化方法が 他のOSと違うため、濁点を含むファイル名の互換性に問題があるというのがあります。