お世話になっております。
髙はsjisに存在しない文字ですが、
この文字をサクラなどのエディタでsjisで保存した時、正常に表示されるのはなぜでしょうか?
utf8を選択して保存すれば正常に表示されるのはわかります。sjisを指定して保存し直した時点で文字化けすると想像していたのですが、なぜ正常に表示されるのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答4件
0
ベストアンサー
Windowsであれば、Shift_JISと言っても、実際にはWindows-31J(CP932、コードページ932)という文字セットが使われています。
これは、Shift_JISに、いくつかのJIS第一・第二水準外の漢字や記号(①とか)を追加した物です。昔のNEC PC98シリーズで使われていた文字セットがベースになっています。
なので、少なくともWindowsの範囲内であれば Shift_JIS外の文字も使える物があります。
純粋なShift_JIS環境に持って行けば変換時にエラーになるか、文字化けします。
#追記
charmap.exe を起動して、文字セットを「Windows日本語」、グループを「シフトJISカテゴリによる入力」にして、ポップアップで「特殊文字」を選んで表示される文字が追加された文字だと思います。
投稿2018/06/21 00:58
編集2018/06/21 01:08総合スコア86281
0
Shift-JIS/IBMコードページCP932では表示できない文字をMicrosoftが独自拡張して表示できるようにしたのがWindows-31j/MS932です。
IBMコードページではCP943として定義されています。
しかし、MSとIBMがそれぞれ独自に拡張した結果として、同一グラフィックで表現できる一部の文字を別のコードに当てはめてしまっています。
そのせいでutf-8->sjis変換した時に文字化けが発生するのですね。
投稿2018/06/21 01:24
総合スコア5572
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
髙
がシフトJISに存在しないというのは、どこから得た情報でしょうか? ちゃんとありますよ。ですから表示できて当然です。
私の認識違いでした。正式なJIS漢字コードには割り当てられていませんね。第三とか第四水準あたりで追加されたのかと思っていましたが、まだ追加されていなくて、IBM拡張漢字の扱いですね。
気を取り直して追記です。
なぜ正常に表示されるのでしょうか?
JIS漢字コードでは、文字コードの一部の領域を「自由に使っても良いですよ」と規定しています。その領域に、各社自社製品用にJISで定義されていない文字や記号を割り当ててユーザーの利便性を図っているわけです。いわゆる**「機種依存文字」**ですね。
正式なJIS漢字コード表には載ってないけど使えるのはそういう理由です。
さらに、Windowsほどのシェアになると、いわばデファクトスタンダードとなり、それが使えないことが製品の価値を下げることにもなりかねないため、Windows以外にも広がっていくわけです。
一方で、JIS漢字コードも度々改正されていて、「機種依存文字」のそしりを受けていた文字が、正式にJIS漢字コードの仲間入りを果たしたというケースはとても多いです。一番判りやすいのは丸囲み文字でしょうか(かつてはネットで丸囲み文字を使って非難される光景が散見されました)。
髙
もいずれはそうなる時が来るような気がしないでもありません。
投稿2018/06/21 01:03
編集2018/06/21 05:10総合スコア5944
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
Windows OS であれば IME パッドが使えると思いますが、それを見ると Microsoft の独自拡張を含めて Windows で Shift_JIS として使える&指定したフォントで表示できる文字が分かると思います。
ちなみに、'髙' は IME パッドでは「シフト JIS」「漢字 3」で文字コードは 0xFBFC となっています。
投稿2018/06/21 01:59

退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/21 03:42
2018/06/21 03:55
2018/06/21 04:05
2018/06/21 04:46
2018/06/28 00:51
2018/06/28 01:40
2018/06/28 02:41