Shift-JISとは? ほかの文字コードと変換する方法

Shift-JisはSJISとも呼ばれており、Microsoftにより定められた文字コードの種類の一つです。MS-DOSやWindows、Mac、一部のUNIXなどで幅広く使用されています。

JIS規格で定められたJISコードの改良版であり、JISコードが7ビットで文字を表現しているのに対しShift-JISは漢字やアルファベット・数字・記号など全ての文字を2バイト(16ビット)で表現するので文字数とバイト数が一致するという特徴があります。また文字の1バイト目だけで全角文字か半角文字化を判別可能です。

そんなShift-JISが普及している一方で、コンピュータ上では様々な文字コードのファイルが作成されています。そしてWindowsの一部のコマンドやツールは標準の文字コードであるShift-JIS以外の文字コードを正しく処理できないことがあります。そこで文字コードを変換し、Shift-JISのファイルとして保存する処理が必要となります。

Internet Explorerで文字コードを変換

インターネットでWebページを閲覧するためのブラウザであるIEでも文字コードを変換することができます。まず文字コードを変換したいファイルの拡張子をテキストファイル形式に変更します。つまり、ファイル名の.(ドット)より後をtxtにして「○○○.txt」というようなファイル名にするのです。

それからこのファイルをIEのウインドウへドラッグ&ドロップしてください。通常は自動的に適切な文字コードで表示されるのですが、文字コードが合っていない場合は意味の分からない文字列が表示されてしまいます。これを一般的に文字化けと呼びます。

002

次にIEの画面内を右クリックして「エンコード」→「その他」→「日本語(シフトJIS)」の順に選択してください。日本語が正しく表示されたらAltキーを押してメニューバーを表示し「ファイル」→「名前を変更して保存」からファイルを保存することができます。このとき保存用ダイアログの「エンコード」は「日本語(シフトJIS)」に設定しておきましょう。

なお、デフォルトでhtmlファイルとして保存されるのですが「ファイルの種類」よりテキストファイルを選択することもできます。

テキストエディタで文字コードの設定

メモ帳のようなテキスト編集用のエディタでも文字コードを指定して保存することができます。例えばWebサイトの作成やPerl言語のプログラミングで活用されている「TeraPad」でも文字コードの変換が可能です。

先ほどと同様にテキストファイル形式で保存したファイルをTeraPadで開き、メニューバーの「ファイル」→「文字/改行コード指定保存」で開いているファイルの文字コードを確認することができます。そしてそのまま「OK」を押すと選択した文字コードでファイルを保存します。

nkfツールで文字コード変換

Windowsのファイル処理はコマンドプロンプトで行うことができます。しかし日本語Windowsのコマンドプロンプトでは基本的にはShift-JISしかサポートされていません。そこでコマンドプロンプトに日本語の文字列やパス名を渡したい場合はあらかじめShift-JISで記述されている必要があります。

コマンドプロンプト上で手軽に使用できる文字変換ツールとしてはnkf(Network Kanji Filter)がおすすめです。まずはzipファイルをダウンロードして適当な場所に展開し、「nkf32.exe」という実行ファイルを任意のフォルダに保存してください。さらに同じフォルダに変換したいテキストファイルを保存し、コマンドプロンプトを開きます。

準備ができたらコマンドプロンプトの画面に次の様にnkfコマンドを打ち込みます。

nkf32(.exeを除いたファイル名)  < 変換したいファイル名  > 変換先ファイル名

001

最後に変換先として指定したファイルを開いてShift-JISに変換されたことを確認してください。このようにnkfは特別なオプションを指定することなくShift-JISへの変換を行うことができるのでとても便利です。コマンドプロンプトを使用する頻度が高い場合は特に重宝するツールと言えるでしょう。

まとめ

Shift-JISは様々なアプリケーションで標準的に使用されている文字コードなので、他の環境で作成されたファイルがうまく処理されない場合など、度々変換が必要になるかと思います。ファイルの種類や量に応じて最適な変換方法をぜひ活用してみてください。


イベント

2017/12/05(火)
Design Thinking Square