[サイトTop] [As/R Top] [ヘルプTop] [戻る]

小ネタ&珍しい機能

ファイルの文字コードの一括変換、画像の一括フォーマット変換


 現在の流行の表現の仕方をすると、ファイルの文字コード変換というよりも、ファイルのコードページ変換という呼び方の方がふさわしいのかもしれません。
 変換可能な文字コードというよりも、OSのロケールを指定する変換方式なのでWindowsがOSレベルでサポートしている、全ての言語および、文字コードへの変換が可能です。
 約160種類くらい(OSにインストールされている言語依存)、日本語のみを列挙しておきます。

  • EBCDIC(日本語/カタカナセット)
  • EBCDIC(日本語/ラテン語セット)
  • EBCDIC(日本語/英語語セット)
  • EBCDIC(日本語カタカナセット)
  • 日本語(EUC)
  • 日本語(JIS)
  • 日本語(JIS 0208-1990/0212-1990)
  • 日本語(JIS 1バイト カタカナ可)
  • 日本語(JIS 1バイト カタカナ可 - SO/SI)
  • 日本語(Mac)
  • 日本語(シフトJIS)
  • UNICODE
  • UNICODE(ビッグエンディアン)
  • UNICODE(UTF-7)
  • UNICODE(UTF-8)

 だいぶ語弊はありますが、IEで表示できる言語なら大抵対応しています。

※補足
 文字コード認識は日本語優先で判定を行っていますので、同じ漢字圏の文字は比較的誤判定しやすいです。
 またWindowsで扱える文字の取扱なので内部的に一度UNICODEに変換されます。
 数値演算で行う文字コード変換の仕組みと異なり、UNICODEに含まれない文字の場合は変換できない場合があるのでご注意ください。




 利用されるシーンとしては、こんなのがあると思います。
・Windowsで編集したファイルが、スマホやMacで文字化けして読めないので変換する必要がある。
・HTMLファイルや、テキストデータの文字コードをサーバーやシステムの都合で全部文字コード変換する必要がある。

 これが、1個や2個ならテキストエディタとかで開いて、保存しなおせば良いんですよ。

 大抵、こんな感じの画面で保存する文字コードが選択できると思います。


 ただですね、変換する必要があるファイルが100個あるとか想像したくないですが、そういう事例は少なからずあります。
 大量にテキストファイルがあって、文字コードを揃えたいという事もあるでしょう。
 そんな時に、すこぶる威力を発揮する機能があります。

1.操作の手順は、リスト上でファイルを選択する

2.メインメニューのファイル→加工→「テキスト文字コード変換」コマンドを実行

 そうすると、こんな画面が表示されます。

 あとは、そんなに説明する必要は無いと思いますが、現在の文字コードを確認しつつ、変更する文字コード指定してやるだけです。

 多分、テキストエディタで、開いて、名前をつけて保存、文字コード選択、閉じる、開いて、名前をつけて保存、文字コード選択、閉じる、開いて、名前をつけて保存、文字コード選択、閉じる、開いて、名前をつけて保存、文字コード選択、閉じる・・・(以下省略)とやるよりも大幅に作業の効率化が期待できるでしょう。
 もちろん、変換がうまく行ってるか確認する必要があるでしょうけど、かなりの作業時間が短縮できます。



下位階層のファイルもまとめて変換しちゃう応用例

 上記の作業手順だと、同じフォルダー内にあるファイルしか処理できません。
 下位階層のファイルも片っ端から変換したいって事もありますよね。

 例えば、ホームページのファイル全ての文字コードを変えたいとか、結構あるんですよ。
 ファイルのリストを作ってコマンドラインで変換ファイルを指定できるツールに渡してバッチファイルを組んで・・・と、上級者であっても結構な手間がかかります。

 個人的な事例だと、デザイナーさんから上がってきたデザイン済みのHTMLファイルの文字コードが不揃いで、全てを揃える必要があったなんてこともあります。
 そのときは、約2,500個くらいファイルがあったので暇そうにしてた新人君に、変換作業ヨロシク!って頼んじゃいましたが、今にして思えば酷い先輩です。
 このような単純作業って苦行以外のナニモノでもないので、省力したいですよね。


1.まず何でも良いのでファイル1個選択した状態で、「テキスト文字コード変換機能」を呼び出しておきます。
 (As/Rのインストールフォルダの下にある、ChgTxtFmt.exeを直接起動しても構いません)

2.何らかのファイル検索ツールを使って、対象としたいフォルダの下位階層のファイルを抽出します。
 これは、As/Rに同梱されている検索ツール(Fin.exe)でも構いませんし、Windowsのファイル検索でも構いません。
 検索結果の一覧をドラッグアンドドロップで持ち出せる機能があるソフトなら何でも良いです。

3.検索結果を全選択して、さっき起動しておいた「テキスト文字コード変換機能」にファイルをドロップします。
 そうすると、下位階層のファイルも全て処理対象として列挙されます。
 あとは、変換する文字コードを指定して、OKボタンを押すだけですね。

 As/Rの外部コマンドの多くは、ファイルドロップされることで、処理対象ファイルをあとから入れ替える事ができますので、これを利用した小技です。



画像の一括フォーマット変換

 違いは、上のメニューで「画像フォーマット変換」を選択するだけなので説明はバッサリと割愛します。
 変換ロジックはGDI+というライブラリを使用して、開く&保存しているだけなのでカメラの情報や、GPSの位置情報など、いわゆる画像に紐付けられた付随情報の保存は保証しません。
 (Jpegでは保持できるけど、BMPだと保持できないとか、画像フォーマットの世界の制限です)


※ヘルプに注意事項も書いてあるんで、ちゃんと読んでから作業してください。
 例えば、半角カナや特殊文字が混じってたりすると、OSの文字コード認識機能が騙されることが多々ありますので、文字種の自動認識は万全なものではありません。