文字エンコーディングの処理

Merge は ASCII と Unicode フォーマット ファイルを含めて種々の文字エンコーディング ファイルを比較することができます。Merge は、ファイルの編集に IME(東アジア言語で使用する Input Method Editor)もサポートしています。

Merge は開いたファイルのメモリ内表現には Unicode 形式を使用します。ほかのエンコーディングは、ファイルの読み込みおよび保存時に、ディスク ベースのシングルバイトまたはマルチバイト文字セット表現を Unicode に変換、またはその逆の処理を行う場合に使用されます。

Merge でファイルを開いた後、エンコードの設定 ツールバー ボタンをクリックするか、ファイル文字エンコーディングの設定… メニュー項目を選択することによりファイルの保存時に使用されたエンコーディングを変更することができます。エンコーディングの選択では、表示されるシートの使用方法を説明しています。

ファイルを異なる文字エンコーディングで再度開く

間違ったエンコーディングを使用してファイルを開いてしまった場合、文字の一部または全部が正しく表示されません。このような場合は、ファイル ペイン上で右クリックして開くショートカット メニューのエンコーディング付きでファイルを再開…コマンドを使用して、正しいエンコーディングでファイルを再度開きます。このコマンドを使用すると、別のエンコーディングを選択することができるシートが表示されます。ファイル比較ウインドウ上の別のファイルは影響を受けず、最初に開かれたときのエンコーディングを使用し続けます。

Non-Unicode エンコーディング

典型的な non-Unicode エンコーディング(たとえば ASCII)を使用するファイルは、それらが使用するエンコーディングについての情報を含みません。

デフォルトの設定では、Non-Unicode ファイルを開くとき、Merge は設定ウインドウのエンコーディング ページで選択されているエンコーディングを使用してファイルを開きます。ファイルが別のエンコーディングで保存されていることがわかっている場合は、そのエンコーディングをファイルを開く… シートで指定することができます。

Araxis Merge を含む最近のテキスト エディタでは、com.apple.TextEncoding という拡張属性を使用してテキスト ファイルのエンコーディング情報にアクセスしたり保存したりできるものがあります。ファイルにこの属性がある場合、Araxis Merge はファイルを開く際に(設定ウインドウのエンコーディング ページの設定に優先して)これを使用します。ただし、ファイルの内容がこれより優先して別のエンコーディングが使用されることもあります。たとえば、ファイルの先頭に Unicode BOM(byte order marker)を持つファイルやエンコーディング指令を含む XML、HTML や Windows リソース ファイルの場合です。

Merge はファイルを保存する際、デフォルトで、ファイルを開いたときに使用したエンコーディングを使用するか、その後、エンコーディングの選択シートで選択されたエンコーディングを使用します。ファイルを別名で保存…シートを使用して、保存時に異なるコードページを選択することができます。Araxis Merge はファイルを保存するときに com.apple.TextEncoding 拡張属性を自動的に設定します。

Unicode

Unicode は、しばしば 2 バイトのバイトオーダー マーカー(0xFFFE または 0xFEFF)で開始し、アプリケーションはこれを使用してそのファイルが Unicode を使用していることを判断します。マーカーは通常テキスト エディタでは表示されません。Merge はファイルを開くときに、このマーカーを調べます。マーカーが存在している場合、Merge は正しい Unicode エンコーディングでファイルを開きます。マーカーが存在しない場合、またファイルに com.apple.TextEncoding 拡張属性が設定されていない場合、Merge はファイルに Unicode が保存されていないと想定し、デフォルト エンコーディングかファイルを開く…シートで選択した特定のエンコーディングを使用して読み込みます。

Merge はビッグエンディアンとリトルエンディアンの両方の Unicode フォーマットをサポートします。