Feature #12877
closedwindows-1255とUnicode間の変換テーブルがWindowsの実装と一致しない
Description
○再現手順
ruby -e 'printf("%#x\n", 0xCA.chr("windows-1255").encode("UTF-8").ord)'
○実際の結果
-e:1:in encode': "\xCA" to UTF-8 in conversion from Windows-1255 to UTF-8 (Encoding::UndefinedConversionError) from -e:1:in
'
○期待した結果
0x5ba
○補足説明
最近MicrosoftはMSDN上のコードページの参照サイト[1]を削除して、unicode.orgの"best fit"マッピングへのリンク[2]に置き換えました。このマッピングには0xCA→U+05BAが含まれています。また実際のWindowsの実装もそうなっています。
GNU libiconv[3]とWHATWG Encoding Standard[4]とGeckoの実装[5]は、すでに追随しました。Blinkも追随する予定です[6]。
[1] http://www.microsoft.com/globaldev/reference/cphome.mspx
[2] ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/
[3] http://git.savannah.gnu.org/gitweb/?p=libiconv.git;a=commitdiff;h=500b967b8f4bcb2bd656c293c5412dc611c5720b
[4] https://github.com/whatwg/encoding/commit/e32a57b886bdb7514f385da3805e606e6faed54f
[5] https://hg.mozilla.org/mozilla-central/rev/49861f351092
[6] https://github.com/whatwg/encoding/issues/73#issuecomment-255800186