Office関連

覚えていますか?ISHとLHA、パソコン通信の思い出

この記事のアイキャッチ画像、文字化けしているわけではないですよ。
画像ファイルをとある形式でエンコードしたものを表示しているだけです。


ノンプロ研のスライドを作成する中で、本筋とは全く関係ないのですが、昔ハマっていた「パソコン通信」を思い出しました。

インターネットが当たり前となった今の世の中では、“パソコン通信”と聞いてもピンと来ない方も多いだろうと思います。

Wikipediaによると、パソコン通信は下記のように説明されています。

パソコン通信(パソコンつうしん)とは、専用ソフト等を用いてパソコンとホスト局のサーバ(またはノード、ホスト)との間で、通信回線によりデータ通信を行う手法及びそれによるサービスである。

全盛期は1980年代後半から1990年代で、のちにインターネットが一般ユーザーに開放されたため、徐々に衰退していった。商用大手としては最後まで残っていたニフティが、2006年3月末でパソコン通信サービス「NIFTY-Serve」を終了した事で、パソコン通信は事実上廃止となった。

https://ja.wikipedia.org/wiki/%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3%E9%80%9A%E4%BF%A1 より

私がハマっていたのは90年代半ば、特に個人が運営する「草の根BBS」に夢中になっていました。

家庭用の光回線はおろかADSLすら無い時代、通信で使うのは電話回線です。
モデムを繋いだパソコンからターミナルソフトでホストにアクセスして(接続先は電話番号で指定)、やりとりは全てテキストベースで行う、今では考えられない通信環境ですね😅

電話回線を使っているので、繋げば繋いだ分だけ料金がかかります。
地方のホストに繋ぎまくった翌月にウン万円の請求が来て、親にこっぴどく叱られたのもよく覚えています。

そのため、「いかに繋ぐ時間を短くするか?」が非常に重要であり、チャットのログなんかは一気にダウンロードして切断、オフラインでじっくり読む、なんてことをしていました。

また、上で書いた通りパソコン通信はテキストベースのやり取りですから、公開されているオンラインソフトをダウンロードするだけでも大変でした。

バイナリ形式での転送ができないホストでは、ishと呼ばれる形式でエンコードされたファイルを、文字列として受け取っていました。

さらに、ファイルサイズを小さくし、通信に掛かる時間とお金を少しでも抑えるためによく使われていたのが、「LHA」によるファイル圧縮です。

今でこそ、“ファイル圧縮と言えばZIP”といった感じですが、当時の環境では圧倒的にLZH(LHAによって圧縮されたファイルの拡張子)が主流でした。

インターネットが普及してからもLZH形式のファイルはVector等で広く出回っていたので、触ったことがある方も多いのではないでしょうか?
(Lhaplus+LhacaLhasaといった有名なアーカイバも、名前を見るだけでLHA = LZHに対応していることが分かります。)

さて、昔を懐かしんだところで、久しぶりにishファイルを触ってみようと思います。
折角なのでVBAからish形式でファイルのエンコードを行います。

といっても、OSの標準機能では対応できないので、外部の32ビット版DLL(ISH32.DLL)を使います。

関数の説明やコマンドについては、DLL付属の「ISH-API.H」ファイルに詳しく書かれているので、そちらをご参照ください。

Option Explicit

'※「ISH32.DLL」ファイルと同じ場所にブックを保存
Private Declare Sub Ish Lib "ISH32" (ByVal hwnd As Long, ByVal lpszCmdLine As String)

Public Sub Sample()
'[Sample.png]ファイルをish形式でエンコードして[C:\Test]フォルダに出力
  Ish 0, "ish /s /m C:\Test\Sample.png /f=C:\Test"
End Sub

上記コードを実行すると、C:\Testフォルダに「ish.ish」ファイルが出力されました。

<<< Sample.png for MS-DOS  ( use shift_jis ish ) [ 26 lines ] >>>
!!S&!'9Q!5"XRo=m_TJS2:$qrrLm!("H9U/eJ~!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!P"(K
!!S&!'9Q!5"XRo=m_TJS2:$qrrLm!("H9U/eJ~!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!P"(K
!!S&!'9Q!5"XRo=m_TJS2:$qrrLm!("H9U/eJ~!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!P"(K
%o。jSエTpw@A廛t-」H@蹇@Eス@@Nm@ナ@@5アv掘隋@,アリ」Wxス-i。Bゥ@@撰ケsK劈DィJ8儖Y@@ィsIンルネ揃0
&@@Qc@F-ヒハ'hx/モ@@ウォXVp耿イ:ホ6盻」QZモmQ/蔟系H2ナ僣1攀タ佳爽Mjuツ?VbULBイ冐EニnヌEナnヌキロq
'K雀葱雀扉ナ轂9メヤヌ牴アl4フア/rZ{ネnン建Ra~ー双キユ'SdTNウmアウm}q」纎ヌ1飯燠蚓F;率QJ豎モM衞xl
),0ラo=「oキFiィテ,同>0W,[ィpE「ア.ス)「vノ@」j輝泉-\ハ譱Uト浸ヨャ衆味怩ミ絲ハDs0nヌh/繃OクノUx費Do
+キ髮ZPニ氏0'ヌキJy^栗腆ア船戰ネ条マャWテ鄒ワIシDヒ拱テ(1Iオコニ院槨繋噛イミ邀鞳ヤr听牛hOヤワeル滾゙イ
,\ゥBラ捗Wヌhリ4梦キeヒ.盾5調U臓iハtv*T-Iニqx{'Jゥ9hエ\Iゥoシ;リZIレトユa゚Y5*戰Sネ「咒ヲ;寒トBウH~゚
?qヘヨiAキ2イシM/冗f惻v莚歩マ}ウKR孩Bゥ荳aGl処U銚ac駅HKb勇ウi芸'豎,。カFD5gヨqテEAZyスQS2シユッ
/t鋳Sュ7トNウモ椌淌joィBT胡スニ竇サ愍pョィフWRG9、uS6贏W手ァ塙言Uヨシ竇'オ]@ケ籏9ェ。レヤスレT~茎ロ禳b
2h。ヤcィ夾ュ[モ_羊*fカ「ヌソェ燎W遮アo;Ej'」Hカ潘ユ隴^ラ削e/Uム帋゙マ2oホnサエ懷ITィーs憩*「G僞ウKwjPY
4I{JI゚・z椣ゥu妝櫞CョRJoCノモスo}TョKkYD-ラゥク;トチ:ーソネッ髑,瘤ワ鰔愡エyOqT8(ィ^9渓欷N;篋篁]縡
5ナ6」Hx徨3B、IC{舌kモaアT錢gWハUノ耘Iル,イ價ゴク謹uVモフコャnカn襪[ルハEムェ帰テ・T繞i,ヨヌnキG薺シDチレ
6n}^1zqY+N楔セ゚)EJ|'ロ9剣@|t8a株ォ楠g鳰{:タ]柁オ内*kJ{T\鯉a螻AR」ヤロOyAトIスy出捫卦gヲzC
77iG繁D吁EfG2レーwx鰈fタN鍼-平@GノZO霈^ツ5T忿GメVQGメy休オ掖{騨*JセシヘVリツ~百ネャ;vフ2[ハマ1ヒヨ
8渺NfキCtテァ悲BWx:Cn界ラキmkMッ嘆ク~キメナkbヌPヨ瓧N4參uノFタウィ(1ラ=_TネsキH襴hテoナリヌ兆AJ「栢サ。c
9鄙ォgjネOウu0墟El:゚ヘウヲッ滔ヤmルチヨ「ゥ~2ノArヌサ)ワoq拇獪F},N丘彦稙フ{3ン塲D9遭トタB卜。キ1Ef{ハ^
:ロヒマスI瞑痙祉ヲワ>フサ薈Tー+b。ユユイ4D*Imfnエヲ^頼leヘ8bo何'ァ嘉E舵a)Kウ(劭VツスMホ麦クvd+IXモウ麻
;*ケ恍7杁ホ^程jソ滾ォ8O,ニLツFエユFコQ駸ヒq、z懸「TCヨ啼-幌ォKオ鏈ア'ミ@+\慇オVonヒ佑ツフ6鍠K@wRbトy
<ク」鴨yォ/トuャO堤Yスイヨdユ訶ィ仇lムリカ*[哩ヨgト@=^5ケ突排醴珊qァュラsソン-UD烟KOソラ)ヨ痣x|双譎シd。
=怠GcnヌEナnヌEナnヌト弑r=城遼ネ垉lヤ@f@@Y{致罕E゚,4z廖@@@@@@@@@@@@@@@@@@@@@@@@@@@@@爭、
。Sgリ)潟竜}涸閾(塾ヨPマサ[レD柩居コメd擂携a化=(ェ7@キツx圄n鑼ヨ|ソ@リ1妬愃レルチ-鐇PA仰ゥ薇ZホメB
」性(o.qTメ鞐ォqSy]+][+娑Qセモトタ4崑ユ円゚ユ、g垣ナoアラ゙)ホH*I妻0゙ムコ'iヲyホ黙・衰(n]サ鍍vdqXJホ)
--- Sample.png (26/26) ---

そう、この「え!?文字化けしてんの!?」と一瞬思う文字列こそが、ishファイル(ish形式でエンコードされた文字列)です。
パソコン通信をされていた方ならこれを見るだけで懐かしく感じるのではないでしょうか。

Vectorで検索したところ、64ビット版のOSにも対応したツールがありました。
ish for Linux/Windows」、tgz形式でのダウンロードになりますが、Windows向けにコンパイルした実行ファイルも同梱されているようです。

コマンドラインから叩くと、ほらこの通り。

無事に元の画像ファイルに戻せました!

というわけで、今回はちょっと昔の思い出に浸ってみました。
あの黒い画面でポチポチ文字を打って遠方の人と時間差チャットをした思い出、何もかも皆懐かしい・・・

関連記事

関連Webサイト

Office製品のフィードバック先まとめ前のページ

ノンプロ研定例会「会社員でもバリバリスキルを上げる方法」で登壇してきました。次のページ

関連記事

  1. Excel

    [VBA]ユーザーフォーム上のコンボボックスでオートコンプリート機能を実装する方法

    MSDNフォーラムに「ユーザーフォーム上のコンボボックスで、任意の文字…

  2. Office アドイン

    [Officeアドイン]地図記号挿入アドイン

    ちょっとずつ作成していたWord用のOffice アドインがようやくO…

  3. Office関連

    [Excel Services ECMAScript]アクティブセルが変更されたときのイベントを利用…

    埋め込んだExcelワークブックの、アクティブセルが変更されたときのイ…

  4. Office関連

    インストールされたフォントの一覧を取得するVBAマクロ

    最近自分の周りでPowerPoint VBAが流行っているようだったの…

  5. Office関連

    フッターにページ番号と総ページ数を挿入するWordマクロ

    以前書いた、フッターに「ページ番号 / 総ページ数」を挿入するWord…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP