[Ruby] EUC-JP と Windows のコードページの対応づけ
Ruby に Encoding#names というのが導入されたらしいというのでちょっと下調べ。
$ ruby -EWindows-31J -e 'p Encoding.default_external.names'
["Windows-31J", "CP932", "csWindows31J"]
$ ruby -EEUC-JP -e 'p Encoding.default_external.names'
["EUC-JP", "eucJP"]
$ ruby -EEUCJP-ms -e 'p Encoding.default_external.names'
["eucJP-ms", "euc-jp-ms"]
$ ruby -ECP51932 -e 'p Encoding.default_external.names'
["CP51932"]
うーむ。 ソースを見たら、CP51932 って EUC-JP の replica になっていた。 そうか。eucJP-msとも違うのか。
Win32OLE内では、EUC-JP や、eucJP-ms は CP51932として扱うことにする??? でも IMultiLanguage2(IMultiLanguage)を使えないと CP51932は扱えないからなあ。 本当はおかしいけど、CP20932のままにする?
Windowsのコードページの対応づけは、 IMultiLanguage2(IMultiLanguage)が使えるのなら、 IMultiLanguage2(IMultiLanguage)::GetCodePageInfo() を利用するという手もありそうな気がする。
| 固定リンク
この記事へのコメントは終了しました。
コメント