以下の内容はhttps://kkamegawa.hatenablog.jp/entry/20100608/p1より取得しました。


IronPythonのzipソースと日本語

IronPythonにはzipの圧縮/展開処理のソースがついています。zip.csとcrc32.csをぱっくんちょすればOK。これを拝借して自前のバックアップファイル圧縮処理にしていたのですが、Explorerフォルダでみると、日本語フォルダ・ファイル名がばけばけ。
ソースをちょっと見てみると、zipのヘッダに記録するファイル名がこうなっていました。

  Byte[] namebytes = Encoding.UTF8.GetBytes(name);

これでUTF8っぽい化け方しているので、ひょっとしてExplorerのzipフォルダはShift-JISでやっているのかな?と思ってこう変えたらビンゴ。日本語でzipフォルダが表示されます。

  Byte[] namebytes = Encoding.GetEncoding(932).GetBytes(name);

zipフォルダが発明というか、zipに日本語ファイル名を入れだしたとき、Winodws 95とか98の時代だったからShift-JISで入れるのがリーズナブルというか、仕方なかったんでしょうかね。IronPythonのソース直すなら…さて?現在のCulture見てEncoding取得して…にする?なんかうまい方法ないもんでしょうかね。




以上の内容はhttps://kkamegawa.hatenablog.jp/entry/20100608/p1より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14