Ish

ish（イシ、イッシ）はバイナリデータとテキストデータを相互変換するための形式、もしくは相互変換を行うソフトウエアそのもののことである。また、変換されたテキストデータを含むテキストファイルに対してつけられる拡張子として使われることもある。1986年9月16日に発表された。拡張子は通常、codice_1を用いる。
概説.
日本で開発された形式・ソフトウエアであり、開発者は石塚匡哉。開発者の名前から命名された（ishizuka）。
通常は、直接バイナリファイルの送受信ができないネットワークや通信ソフトで、バイナリファイルを送受信するときに利用する。
日本国内でのパソコン通信黎明期、当時の技術的な制約によりバイナリファイルを直接送受信することが困難であったこと、また、通信プロトコル上のエラー訂正機能が無いことによりデータの欠損が発生しやすい、という事情があったため、それらを解決できるものとしてishが頻繁に利用されていた。
2007年現在日本ではあまり使われていないが、通信インフラの整備が不十分な地域や、通信品質の劣悪な地域、通信プロトコルが制限されているような環境ではその特性から重用されている。
特性.
この方式の利点としては、バイナリファイルが制御コードを含まないテキストデータに変換されるため、通常の電子掲示板への読み書きや電子メール本文への挿入といった形でバイナリファイルの送受信が可能なことである。
Intel HEX、HC、Hex2binなど、ish以前にもバイナリをテキストに変換するソフトは存在したが、ishはそれらよりもはるかに高性能・多機能だった。
送受信中の予期しないエラー（データの変化、欠落）に比較的強く（Ish化されたテキストは、縦・横・斜め方向に、一種の「リカバリレコード」が記録されている）、無手順による送受信でありながらある程度のエラー補正機能を持たせることができる。
ソフトウエアの機能として、テキストファイル内から自動的にish形式のデータ部分を抽出することができるため、膨大なログファイルなどからデータ部分を切り出すことなくバイナリファイルへの変換が可能である。その際、一つのテキストファイルに複数のish形式のデータが含まれていても、それらを全て変換することも可能である。
さらにパソコン通信では投稿できる記事に行数制限があることを想定して、バイナリからテキストに変換する際に行数を指定してファイルを自動的に分割することが可能で、ユーザーがアップロードするときにいちいち分割する手間が省けた。
欠点としては、圧縮機能を持たないこととその理論上、元となるバイナリファイルよりもデータサイズが少し大きくなる事である。しかしishは変換効率が非常に高く、同様の変換を行う他の形式/ソフトウエアよりも変換後データサイズは比較的小さい。