つれづれ電脳記(日くらしPCに向かひて)

つれづれなるままに、日くらしPCに向かひて、その悪戦苦闘ぶりをそこはかとなく書き付くるおじさん。たまに雑談[管理人:goosyun]

つれづれなるままに、日くらしPCに向かひて、デジタル関係の悪戦苦闘ぶりをそこはかとなく書き付くるおじさんです。
たまに雑談してます。連絡・問い合わせフォームは、ページ最下部に置いています。[著者(運営人):goosyun]

(当ブログには本文中に広告リンクが含まれています。)

テキストファイルの文字コードUTF-8

 昨日(2022年9月18日)の記事では、
    「テキストファイルは万能だ。
って書きました。

  その昨日の記事は、
    こちらをご覧ください。

 「万能」という言い方は誤解を与えかねない表現ですが、「多くのアプリケーションソフトで扱える。」っていう意味、ただそれだけの意味です。
 テキストファイルは、単にテキスト(文字)情報だけを保存する、単純なファイルです。その単純さゆえに、単純だからこそ、いろんなアプリで、読み込み、それから処理が可能なのです。

 ただし、中味は単純ではあるけれども、テキストファイルには、いつも付きまとう問題が一つあります。文字コードの問題です。
 文字コードにはいくつか種類があって、文字コードが一致しないと文字化けを起こします。

 Windows10や11に標準で備わっている簡易エディタ「メモ帳」のデフォルト(既定)の文字コードは、
  「BOMなしのUTF-8
です。
 それに合わせるように、オープンソーステキストエディター「サクラエディタ」においても、デフォルトの文字コードが途中から変わりました。2020年4月にリリースされたバージョン2.4.0から、BOMなしのUTF-8が、デフォルト文字コードになっています。

 ですから、現在においては、多くのテキストファイルが、UTF-8文字コードを使って作成されているのではないでしょうか(個人的な憶測です。正確な裏付けはありません。)。






 そして、ExcelマクロやWordマクロを使ってテキストファイルを開くのに、
対象となるテキストファイルの文字コードが何かによって、方法が違ってきます。
 Shift-Jis の場合、
  Open myTxt For Input As #1
というVBAコードになります。
 
 対して、UTF-8の場合
  ADOActiveX Data Objects)の Stream オブジェクト(ADODB.Stream)を使用します。

 ADOなんて、一般の人にはちんぷんかんぷんの言葉でしょうが、要するにデータベースにアクセスする仕組みの一つです。そんな説明をされても、なお分からないでしょうが、それでいいと思います。私も、中味はよく分かりません。

 従前は、Open myTxt For Inputというコードでテキストファイルを扱っていました。でも、これからは、ADO(ActiveX Data Objects)を使ったコードをも覚えていくことにします。

 デジタルの世界は、どんどん発展していくので、ついていくのが大変です。




それでは、また次の記事で
goosyun


《2022年9月23日追記》
 ADOのStreamオブジェクトを使ったテキストファイル入出力操作について、解説記事を書きました。
 VBAコードも掲載しています。
   こちらの記事をご覧ください。