NEC特殊文字(丸数字、ローマ数字など)、IBM拡張文字(アなど)は、漢字コードのJIS規格のうち最初に制定された第一水準/第二水準(JIS X0208)に含まれない文字です。
MicrosoftのWindowsで使用されている、Shift_JISコードの文字コードセットには、JIS第一水準/第二水準の文字に加えて、これらの外字が標準で含まれています。
MacOSXに標準で搭載されているフォントの中には、これらの外字の文字コード位置がWindowsと異なるものになっているものがあります。
そこで、これらの文字はWindowsとMac間の互換性で問題になる「環境依存文字」(昔は「機種依存文字」と呼ばれていました)と言われています。
しかし、文字化けする、しないは、使用しているWEBブラウザやフォントによって左右されます。
そこで、これら「環境依存文字」やJIS補助漢字、半角カタカナを様々な文字コードのWEBページ上に掲示してみました。お使いの環境でどのように見えるのか確認用にご使用ください。
各リンク先をクリックしてください。
NEC特殊文字(丸数字、ローマ数字)、IBM拡張文字(ア)がお手元の環境でどのように表示されるか確認できます。
そのまま入力した文字と、数値文字参照形式で入力したものを両方載せてあります。
各ページは、文字コードは当然違いますが、他は背景色などを除いてほぼ同じ文面で構成されています。
各ページはTeraPad(Version 0.88)で出力する文字コードを変えて作成しました。UTF-8はBOM付き、BOM無しの両方作成しました。(BOM無しのみEmEditorのフリー版(Ver6.00.4)で書き出しています。)
なお、EUC-JP、ISO-2022-JPでは、「ア」はそのままでは書き出しできませんでした。もちろん数値文字参照形式では書き出し出来ています。
(2006/9/30)
「環境依存文字」とは別の原因による文字化けの例を追加しました。
(2006/10/5)
半角カタカナを各文字コードで作成したWEBページ上に掲示してみました。
各リンク先をクリックしてください。

1文字1バイトで表されます。
各1文字ごとにシフトコード8Eが付いて都合2バイトになります。
メモ帳で出力したのでBOM3バイトが付いています。半角カタカナ1文字は3バイトで構成されます。
(2006/10/9)
半角文字は、JIS7単位と呼ばれるJISコード。サクラエディターで
アイウエオ
12345
漢字
と入力し、出力文字コードに「JIS」を指定して書き出した物を16進ダンプしました。
青い下線を引いた部分がシフトコード、赤い下線を引いた部分が実際の文字、「0D 0A」は改行コードです。
最初の"[ESC] ( I" (1B 28 49)で以降半角カナに切り替え、次の "[ESC] ( B" (1B 28 42)で、ISO/IEC 646 IRV (US-ASCII)に切り替えます。 従って16進で、同じ「31 32 33 34 35」が、"アイウエオ"になったり、"12345"になったりします。
"[ESC] $ B" (1B 24 42)で漢字コード(JIS X0208-1983)に切り替え、以降2バイトで漢字1文字を表します。最後にまた、"[ESC] ( B" でUS-ASCIIに切り替えます。
なお、ISO-2022-JPには半角カタカナは規定されていないので、「JIS7単位」=「ISO-2022-JP」ではありません。しかし、実際にはISO-2022-JPと指定しながら半角カタカナを使用する場合、JIS7単位方式で処理するプログラムもあります。
(2006/10/14)
(2008/07/22)