コンピュータで扱える文字にサロゲートペアという少し特殊な文字があります。実際にどのような文字なのか解説します。
サロゲートペア とは?
1つの文字に対し、2つの文字コードを使って表される文字を指します。
Unicodeでは、2byte(65536)で全ての文字を取り込む予定でしたが、文字数が足りなくなったため、2つの文字コードを使用して、4byteとして扱われるようになった文字です。
どんな文字があるの?
普段使いするような文字はほとんど無いですが、馴染みがありそうな文字だと下記があります。
例えば、吉野家の「吉」です。
普通は、土の下の線が短いのですが、正しい表記としては、下記のように下の線が長くなります。
𠮷
その他は、魚のホッケです。漢字だと下記になります。
𩸽
これらの文字がサロゲートペアになります。
Windowsだと文字の変換時、文字の横に「[環境依存]」などと書かれています。
扱う時の注意
サロゲートペアを使用する際、下記のような注意があります。
本来、1文字は2byteのところ、4byteとなっているので、文字数を取得するメソッドなどが正しく機能しないプログラム言語もあるようです。
PowerShellで試したところ、確かに「𠮷野家」は3文字ですが、取得結果が「4」となりました。
取得するには少し工夫が必要なので、以下の記事にまとめました。
記事は以上です。このような特殊な文字もあるので、使用する可能性がある処理を実装する際は気を付ける必要がありますね。
コメント