From: VYV03354@... Date: 2016-10-29T08:15:52+00:00 Subject: [ruby-dev:49853] [Ruby trunk Feature#12877] windows-1255とUnicode間の変換テーブルがWindowsの実装と一致しない Issue #12877 has been updated by Masatoshi Kimura. Subject changed from Windowsのwindows-1255とUnicode間の変換テーブルが変更された to windows-1255とUnicode間の変換テーブルがWindowsの実装と一致しない その後VMにファイルを送り込むことに成功しました。IE4がインストールされていないWindows NT 4.0でも、windows-1255のマッピングテーブルはWindows 10と同じでした。というわけで題名を戻します。 東アジア言語版のWin9xはRTL言語をサポートしていないため[1]、Win9xについては結局確認できませんでした。 [1] https://msdn.microsoft.com/ja-jp/library/cc389892.aspx ---------------------------------------- Feature #12877: windows-1255とUnicode間の変換テーブルがWindowsの実装と一致しない https://bugs.ruby-lang.org/issues/12877#change-61110 * Author: Masatoshi Kimura * Status: Closed * Priority: Normal * Assignee: ---------------------------------------- ○再現手順 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 -- https://bugs.ruby-lang.org/