著作一覧 |
というわけで、ASR 1.8.0.2。
コンソールはまだ予断を許されないけど、irbとかは、直接ruby.exeを実行すれば良いのでした。と思うけど、9xは何しろ試してないからわかんないんだけど。
良く見たら、リンク先はグレーアウトしてる。ショートカットキーとかは変えられるみたいだけど。どうも、exerbじゃないけど、Visual Installerに指定した起動引数を(多分アイコンも?)格納した実行ファイルを作成して%APPDATA%\Microsoft\Installer\{GUID}\乱数.exeとしているようだ。
ショートカットの内容をメモ帳で見ると、そう見える。でもバイナリーエディタを使うと該当する実行ファイルにリダイレクトされて、それの中身が見えるようだけど。
試してくださってありがとうございます。CRLFとは気付きませんでした。
今度のは、直接ruby.exeを実行しているのでそのあたりの問題はないと思います。
プロパティシートは、そういうもんだということにしておいてください。−−どういうもんだろう?
System.out.println(Charset.forName("PCK"));
-> Shift_JIS
private static Charset lookupCharset(String csn) {
if (csn.equalsIgnoreCase("PCK"))
return null;
で、その結果sun.io.ByteToCharConverter
登場。
で、PCKで、String(byte[] data)
は正しく動いてしまうが、アプリケーションが内部でLANGをチェックしてPCKから、
cd = Charset.forName("PCK");
System.out.println(cd.decode(ByteBuffer.wrap(data)).toString());
とやると、shift_jisエンコーダ(じゃなくてデコーダ、この場合)が動いてしまうのでだめぽ。
でも、
System.out.println(new String(data, "PCK"));
なら、OK。なんだかなぁ。
結論からいくと、〜は、Windows-31Jじゃ変換できない(確かに、マッピングが異なるから元に戻せないという原理は知っている)。そのためにはshift_JISを使う。でも、①はWindows-31Jじゃなきゃ変換できない。PCKはShift_JIS+Windows-31Jの取り込みなので、実体はShift_JISにマッピング。でも、それだと不便過ぎなので、デフォルトエンコーディングでは、Shift_JIS+Windows-31Jとして振る舞うsun.ioパッケージのデコーダが活躍する、ということですか。
PCK は、Microsoft が Windows3.1 で規定したマイクロソフト標準キャラクタセットと同等の文字集合およびエンコーディングを提供するものです。また、PCK は、従来の Solaris リリースで MS 漢字コード(またはシフト JIS)と呼ばれていたものに、ユーザー定義文字やベンダー定義文字を加えたもので、JIS X 0201、JIS X 0208の 1-84 区(13 区除く)までに関しては従来のものと互換性があります。
ジェズイットを見習え |