2011/06/10

ユニコードの文字コードを調べる(国際化ドメイン名)

下記のURLの違いわかりますか?
素朴な疑問 http://example.com  http://еxample.com って表示がわかれるのかな?」

下記ページにコピーしてみると、実際のUnicodeでの表記がわかります。

最初のURLはよく使われるサンプル。
二番目のものはe(U+65)をキリル文字のе(U+435)に置換したものです。このような非ASCII文字を使ったドメイン名は国際化ドメイン名と呼ばれており、内部ではpunycodeと呼ばれるエンコードが行われています。
http://еxample.com -> http://xn--xample-2of.com/

迷惑メール等に含まれるURLはこのような偽装がされている可能性もあるため、原則として怪しいメールのリンクはクリックしない方が良いと思います。

2011/6/10時点で確認した範囲では、facebook、twitterはそのままURLを表示しますが、iphone上のTwitterアプリはpunycodeでの表示を行っていました。

2011/06/06

ユニコードの文字コードを調べる(絵文字)

GoogleとAppleが提唱したマッピングをもとに、携帯電話の絵文字がUnicode6に採用されました。Mac OSX Lionでは絵文字に対応するという噂もあり、絵文字はさけて通れない問題になりつつあります。

Googleのemoji4unicodeプロジェクト
emoji4unicode

Unicode6の正式規格
EmojiSources.txt

標準化により簡単に絵文字を使えると思いきや、Unicode6の定義は意外と曲者です。
Unicode6規格の問題は主に3点

  1. ベンダ固有の記号が符号化されていない
    • ドコモロゴ等は符号化されていないため、独自にPUAに割り当てる必要があります。
  2. 合字の使用
    • 一部の文字は単一のコードポイントではなく、複数のコードポイントによる合字で表現されています。
  3. 定義がShift JISベース
これに対して、emoji4unicodeに含まれるGoogleの定義は、すべての絵文字が定義されているだけでなく、それぞれに単一のコードポイントが割り当てられています。Unicode6という標準は魅力的ですが、内部コードとしてはGoogle PUAの方が向いているようです。