
すべて同じ色味の画像ファイルです。Windowsでデコードすると、色が大きくズレるケースがあります。おそらくかなり大きな割合です。

大きく色がズレてるのに、意外に気付けません。
初歩のシェルスクリプトで遊ぶ[CP932テキストファイルを外部コマンドなしでUTF8へ変換する]
初歩のシェルスクリプトで遊ぶ[Unicodeコードポイントをutf8へ変換するシェル関数] - HatenaDiary id:Narr
CP932、いわゆるシフトJISのテキストファイルを、UTF8に変換します。iconvはもちろん、odコマンドも使いません。最後は先週のこれを使います。
いちばん無理矢理なのはodコマンドの代用です。さすがにこれは厳しくて、動かないシェルもあります。バイナリデータはシェルの領分じゃないってことっすね。スクリプトの中にodコマンドでの実装も入れてあります。
CP932とutf8の変換辞書はどうしても必要になりますが、これは単純に変数を大量に定義してます。連想配列的なものを、evalで。このファイルをsourceで読み込むときに外部コマンドを使ってるだけで、他では外部コマンドを使ってない、はず。コマンド置換など、遅くなる要因も、できるだけ減らしてます。
全体としては実用性はありません。しかし、最後の printf \UXXXX の代用関数と、進数変換のシェル関数なんかは、そこそこ便利です。
辞書ファイルの定義を簡単に変えられることが利点といえば利点、か。Unicodeのコードポイントの指定を複数文字にすることができます。たとえば「味噌」を「味噌󠄀」の異体字セレクタがついた状態に直接変換できる。
辞書ファイルは長くてブログに載せられませんでした。そのうちダウンロードのとこに置いておきます。
直接にダウンロードに置くか、chikuwaの中に一緒に置くか、忘れてるか、どれかということで。
