2008年5月15日木曜日

現状最適な圧縮・解凍ソフトと文字コード

Stuffit のトラブルの最後にCLさんのレポートを紹介していたのですが、
コメント欄に
実はStuffItも万能ではありませんです。
アーカイブ内にUnicode合成文字を使用したファイルが含まれているとWin版StuffItで解凍しても化けます。
MacOS「がぎぐげご.rtf」(アーカイブ内)

WinXP「か・き・く・け・こ・.rtf」(濁点部分が文字化け)
このままですと不正なファイル名になってしまいアプリケーションで開くこともできません。

だったら何が一番データの受け渡しがスムーズなのか? 気になったのが
id:FeZn インストールが許されるならExpLZHでいいと思います。

それとZIPファイルをFinderで解凍すると文字化けしてしまう。の追記で紹介されていたDropLHaがベターな解かな(まだ使ってないから)。
過去ログ:ツール紹介CleanArchiverを紹介したけどMacならこれがベストな選択かも(同様にまだ使ってない)。
WindowsDTPレポートも再度、目を通しておきたい。

Windowsで文字化けしないzipを作るAppleScriptがあります(過去ログ:2007年9月12日)が、まずは上記3点を試してからでしょう。


文字コード絡みで不具合の原因は「カタカナでなく漢字だったから」――三菱東京UFJのシステム障害の件を詳しく解説しているblogがありました。

コンピューターで文字を扱うことについて(1)
 例を出すと、10進数での「25」が2進数では「11001」と表現されるのですが、2進数では5桁になってますね。
 電球のたとえ出すと、電球が5個ある状態で、この状態は左から2番目までが点灯してて、3番目、4番目は消灯してて、5番目は点灯してる状態です。
 この場合、一番左の電球は「16」を示してます。その次の電球は「8」を示してまして、3番目と4番目は0を示してて、5番目は「1」を示してます。それを足し算すると、16+8+0+0+1=25となるわけです。
 じゃあ、「11111」はいくらかというと、16+8+4+2+1=31となります。要するに1桁目に1がつけば「1」で、次の桁に1がつけば「2」で・・・というように、桁が進むごとに2が掛けられる形になります。コンピューターはこうやって数を判断するわけです。

コンピューターで文字を扱うことについて(2)
 この、JIS X 0201は俗にANKコードと呼ばれてました。アルファベット、文字、カナが使えるということで。
 ここで使うカナは俗に「半角カナ」と呼ばれます。

(中略)

 メインフレームはEBCDICの各社拡張文字コードという状態ですが、一方、UnixはUnixで、独自の文字コードを持ってました。それはEUCコードというものです。

 EUCコードは当然日本語対応版もあり、それはEUC-JPというものです。この文字コードの特徴は、ASCII、ANKコード、JISコードを包括した作りで、それぞれの互換性が比較的高いというものでした。

コンピューターで文字を扱うことについて(3)
 で、このUnicodeは、NT系のWindows(WinNT、Win2000、WinXP、Vista)、Linux、Mac OS Xの内部コードで使われ、そして、Javaの内部コードとしても使われてます。

 Unicode2.0以降は、文字コードを今度は21ビットで対応するようになりました。そうすると・・・2,097,152パターンの文字に対応できるようになります。さらに、Unicodeは21ビットですが、既存のOSは16ビットだったり32ビットだったりするわけです。Vistaは64ビット版もあるわけですが。そこで、Unicodeをそれらに対応して変換する処理が必要になります。その処理を「エンコード」といいますが、エンコードにしても色んな種類が出てきてます。UTF-8とかUTF-16とかUTF-32とか。
 で、使い勝手がいいと言われるUnicodeも、それなりに問題が出てきます。

 まずは、バージョンごとに互換性がないということ。

0 件のコメント: