[3] [DFN[UTS #46]] [DFN[Unicode IDNA Compatibility Processing]]
([DFN[Unicode IDNA 互換性処理]]) は、 [[IDNA2003]] との互換性を保持しつつも
[[IDNA2008]] と整合性のある処理を行う方法 (を定めた仕様書) です。
[[IDNA2008]] は [[IDNA2003]] から極めて非互換に変更が加えられており、
単純に置き換えるだけでは既存の実装や[[文書]]との互換性を喪失してしまいますが、
Unicode IDNA 互換性処理は [[IDNA2003]] と [[IDNA2008]]
を組み合わせたような仕様となっており、それによって互換性を保ちつつ [[IDNA2008]]
へと移行してゆけるようになっています。
* 仕様書
- [2] [CITE@en-us[UTS #46: Unicode IDNA Compatibility Processing]] ([TIME[2010-10-30 01:01:25 +09:00]] 版)
* 算法
[4] [[UTS #46]] では次の[[算法]]が規定されています。
- [[Unicode IDNA互換性処理]]
-- [[移行的処理]]
-- [[非移行的処理]]
- [[ToASCII]] → 内部で [[Unicode IDNA互換性処理]]を呼び出す
- [[ToUnicode]] → 内部で[[非移行的処理]]を呼び出す
- [[IDNA2008前処理]] → 内部で [[ToUnicode]] を呼び出す
;; [5] [[Unicode IDNA互換性処理]]の[[非移行的処理]]、[[ToUnicode]]、[[IDNA2008]]
は実質的に同じです。
* 表
[6] [[UTS #46]] は次の表を定義しており、 [[Unicode IDNA互換性処理]]で使われています。
- [[IDNA写像表]]
* テスト・ケース
[10] [CITE@en-us[UTS #46: Unicode IDNA Compatibility Processing]] ([TIME[2010-10-30 01:01:25 +09:00]] 版)
* デモ
[9] [CITE@en-us[Unicode Utilities: Internationalized Domain Names (IDN)]] ([TIME[2011-04-03 19:32:37 +09:00]] 版)
[8] [[IDNA2003]]、[[UTS #46]]、[[IDNA2008]] の比較が にあります。
[[UTS #46]] は [[IDNA2003]] と [[IDNA2008]] の中間の結果が得られるようになっています。
* メモ
[7] [[IETF]] の糞仕様の尻拭いお疲れ様ですwwwwwwwwww
[1] [CITE@en-us[FAQ - International Domain Names (IDN)]]
( ([TIME[2010-10-14 08:53:42 +09:00]] 版))
がとても参考になります。