質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

解決済

4回答

21989閲覧

sjisに存在しない文字がsjisで表示できる理由

lupus_dingo

総合スコア257

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

2グッド

1クリップ

投稿2018/06/21 00:43

編集2018/06/21 03:56

お世話になっております。

髙はsjisに存在しない文字ですが、
この文字をサクラなどのエディタでsjisで保存した時、正常に表示されるのはなぜでしょうか?

utf8を選択して保存すれば正常に表示されるのはわかります。sjisを指定して保存し直した時点で文字化けすると想像していたのですが、なぜ正常に表示されるのでしょうか?

lg_rino, LouiS0616👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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
otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lupus_dingo

2018/06/21 03:42

回答ありがとうございます。 試してみます。
lupus_dingo

2018/06/21 03:55

上記はwindows10での操作手順でしょうか? こちらの環境がwindows7のためか、そのような選択箇所が見つかりません。
asm

2018/06/21 04:05

詳細表示にチェックが必要みたいですね
otn

2018/06/21 04:46

↑おおそんなチェックが。 チェックを入れて数年経つので忘れてました。
lupus_dingo

2018/06/28 00:51

回答遅れてすみません。 試してみました。詳細表示で上記の内容が表示されました。 使い方がよく分からないですが、こちらの質問の件は解決したのでクローズします。 (特殊文字を選択して「髙」で検索しても出てこない。第一、第二で試しても同様)
otn

2018/06/28 01:40

検索? 「検索する文字の名前」欄のことであれば、そこは文字の名前(digitとか)を入れるのであって、文字を入れるところでは無いです。文字で検索する機能は無いですよ。目で見て探さないと。
lupus_dingo

2018/06/28 02:41

そもそも使用用途が違うんですね。 すみません。ありがとうございました。
guest

0

Shift-JIS/IBMコードページCP932では表示できない文字をMicrosoftが独自拡張して表示できるようにしたのがWindows-31j/MS932です。
IBMコードページではCP943として定義されています。
しかし、MSとIBMがそれぞれ独自に拡張した結果として、同一グラフィックで表現できる一部の文字を別のコードに当てはめてしまっています。
そのせいでutf-8->sjis変換した時に文字化けが発生するのですね。

Shift_JIS系文字一覧イメージとSJIS・MS932・CP943の違い - instant tools

投稿2018/06/21 01:24

tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lupus_dingo

2018/06/21 03:41

回答ありがとうございます。 参考にさせていただきます。
guest

0

がシフトJISに存在しないというのは、どこから得た情報でしょうか? ちゃんとありますよ。ですから表示できて当然です。


私の認識違いでした。正式なJIS漢字コードには割り当てられていませんね。第三とか第四水準あたりで追加されたのかと思っていましたが、まだ追加されていなくて、IBM拡張漢字の扱いですね。


気を取り直して追記です。

なぜ正常に表示されるのでしょうか?

JIS漢字コードでは、文字コードの一部の領域を「自由に使っても良いですよ」と規定しています。その領域に、各社自社製品用にJISで定義されていない文字や記号を割り当ててユーザーの利便性を図っているわけです。いわゆる**「機種依存文字」**ですね。
正式なJIS漢字コード表には載ってないけど使えるのはそういう理由です。

さらに、Windowsほどのシェアになると、いわばデファクトスタンダードとなり、それが使えないことが製品の価値を下げることにもなりかねないため、Windows以外にも広がっていくわけです。

一方で、JIS漢字コードも度々改正されていて、「機種依存文字」のそしりを受けていた文字が、正式にJIS漢字コードの仲間入りを果たしたというケースはとても多いです。一番判りやすいのは丸囲み文字でしょうか(かつてはネットで丸囲み文字を使って非難される光景が散見されました)。
もいずれはそうなる時が来るような気がしないでもありません。

投稿2018/06/21 01:03

編集2018/06/21 05:10
catsforepaw

総合スコア5938

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lupus_dingo

2018/06/21 03:42

回答ありがとうございます。 ですよね。一応軽くググってから質問しているので。参考にさせていただきます。
catsforepaw

2018/06/21 05:11

ちゃんと調べる前に回答してしまいました。お騒がせしました。 なぜ? の問いに対して回答に追記しました
lupus_dingo

2018/06/28 02:43 編集

返信遅れて申し訳ありません。 ご丁寧にありがとうございます。 参考にさせていただきます。
guest

0

Windows OS であれば IME パッドが使えると思いますが、それを見ると Microsoft の独自拡張を含めて Windows で Shift_JIS として使える&指定したフォントで表示できる文字が分かると思います。

ちなみに、'髙' は IME パッドでは「シフト JIS」「漢字 3」で文字コードは 0xFBFC となっています。

投稿2018/06/21 01:59

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lupus_dingo

2018/06/21 03:40

回答ありがとうございます。 確認してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問