標準文字コードはシフトJISとされていますが、
例えば、windowsでメモ帳を使って文字を書いて、保存をした時。
保存する時の文字コードは自由に選択できますよね。
この時点だと、どこにシフトJISコードが使われているのかはサッパリ分かりません。
それで考えたのですが、
文章を保存する時では無く、
メモ帳に書いている時に使われている文字が、
シフトJISなのでしょうか?(その文字を16進数としてみた時にシフトJISの文字コードになっている)
つまり、
もともと、windows上でwebページのフォームに文字を入力するとか、
メモ帳で文章を書くと、
シフトJISとして書いている事になるのでしょうか?(シフトJISコードに対応した16進数で書いている)
それを、例えばメモ帳ならシフトJISコードを違うコードに変換して保存する機能が付いている
ブラウザには、その機能は無いから、フォームからはシフトJISコードとしてのデータしか遅れない。
そう考えると、
windows上では入力する全ての文字がシフトJISコードという事になり、
標準文字コードがシフトJISという言葉にも納得がいくのですが、
上記の理解で正解なのでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
>まず自分がEUC-JPで保存したファイルを、
>EUC-JPを保存できたエディタで開くと見れるのはどうしてでしょうか??
>EUC-JPのコード→unicode→シフトJIS(このままだと文字化け)
>エディタでEUC-JPのファイルを文字化けせずに見られるのは、
>エディタがEUC-JPをシフトJISのコードに戻しているのでしょうか?
基本的にはその通りです。EUCに対応したエディタは、読み込み時に自動的に、あるいは明示されることにより、EUCコードを変換します。
変換の流れはOSの機能をどこまで使うかによって
EUC-JPのコード→シフトJIS(→unicode OSが自動処理)
EUC-JPのコード→unicode(→シフトJIS) (OSの内部コードにアプリが変換)
の両パターンありえると思います。
>2つ目は、ブラウザで文字化けする時に、
>正しいエンコードを選ぶと正しく表示されるのは、
>指定された文字コードからシフトJISコードに変換して表示しているか>ら、正しく表示されるのでしょうか?
その通りです。例えばInternetExplorerにはその専用の変換ルーチンが用意されています。実際WEBページやテキスト文書をIEであけて、保存の際にコードを選択すると任意のコードに変換することができます。
今まで、いくつか本を借りて呼んでもみましたが、今一歩良く分かりませんでした。cdsdasdsさんから教えてもらった内容から、不思議だったwindowsの内部文字コードとは何かが分かった気がします、ありがとうございました。
No.1
- 回答日時:
>標準文字コードはシフトJISとされていますが、
これが誤りを招きやすい表現ですね。
Windows 2000やXPの内部コードはunicodeです。
ところが、Windows95とかではシフトJIS(マイクロソフトJIS)が用いられていました。また、それ以前のPCでも一部に違いはあるものの基本的にはシフトJISが使われていたのです。
このため、PCではシフトJISが標準ということになり、そのままでは問題があるのでWindows 2000やXPではunicodeとシフトJISの変換を行っています。
アメリカのMicrosoftで普通に使っている分にはこのような事情は余り重要視されないため、おまけソフトであるメモ帳にはシフトJISがコードのリストに無いのです。
unicodeを内部コードとしているWindos OSでは日本のようなunicodeとは異なる文字コードを標準的に使用している国で利用する場合、ファイル保存や画面出力などの際にunicodeから指定された文字コードに内部的に変換して保存や出力を行います。逆にファイルを開いたりする場合も同様に変換して受け取っているのです。
ではどこで指定しているのかというと、コントロールパネルの「地域と言語オプション」です。「詳細タブ」を見るとUnicode対応でない言語として日本語が選ばれていますよね、
まとめますと、今のWindows OSではUnicodeで文字を処理しているが、画面やファイル等に出力したり、ファイル等から入力されるときにシフトJISとUnicodeの変換を行っているということです。
ありがとうございます。さっそく実際に試してみました。
EUC-JPで保存できるエディタでテキストファイルを作って、
そのファイルをメモ帳で開くと文字化け。
これはwindowsがEUC-JPのファイルをシフトJISとして開いたからなんですね。
2つ疑問があるのですが、
まず自分がEUC-JPで保存したファイルを、
EUC-JPを保存できたエディタで開くと見れるのはどうしてでしょうか??
EUC-JPのコード→unicode→シフトJIS(このままだと文字化け)
エディタでEUC-JPのファイルを文字化けせずに見られるのは、
エディタがEUC-JPをシフトJISのコードに戻しているのでしょうか?
2つ目は、ブラウザで文字化けする時に、
正しいエンコードを選ぶと正しく表示されるのは、
指定された文字コードからシフトJISコードに変換して表示しているから、正しく表示されるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# S-JIS → JIS コード変換するには 3 2023/02/09 23:55
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Windows 8 メモ帳による文字コード変換 2 2022/09/01 18:38
- その他(IT・Webサービス) 電気ガスの手続きで文字を入力したいのですが、入力したい文字がアルファベットなんです。ですが、文字がJ 1 2023/05/14 18:00
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- その他(ソフトウェア) powershell で出力したテキストファイルをvim で開くと文字化け 2 2023/01/11 21:39
- Excel(エクセル) マクロ、条件付き書式のfont.color 1 2023/03/28 01:10
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- Java VScodeのターミナルの文字化けについて 1 2022/09/27 22:19
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メモ帳での一括たて列選択
-
ホームページ作成
-
cygwin1.7.1のコンソールでS-JI...
-
ubuntuでテキストファイルが開...
-
UTF-8ファイルを文字化けなく表...
-
windowsのメモ帳からlinuxへコピペ
-
英語版Windowsを使っているかたへ
-
Windowsで作成した新しいテキス...
-
XHTML作成時の文字コードについて
-
【文字コード】コピー&ペース...
-
.htmlをWindows→Linuxに移動
-
UTF-8 環境をSJIS化した後の改...
-
シェルスクリプトの文字化け
-
拡張子の変更
-
au 携帯のメール(vMessage, .v...
-
illustrator cs2「均等配置(最...
-
日本語ファイル名の文字化けに...
-
Macで簡単に改行を解除したい
-
Winmerge ファイルの中身は同じ...
-
嫌ってるのに真似してきたりマ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メモ帳での一括たて列選択
-
windowsのメモ帳からlinuxへコピペ
-
【文字コード】コピー&ペース...
-
Macで簡単に改行を解除したい
-
MS-DOSテキストファイルっ...
-
テキストファイルをページ番号...
-
LinuxMintで,Windows時代に作成...
-
アイコンの名前の改行
-
.batファイル作成 mailto: コ...
-
ファイル名の付け方(中央揃え)
-
コピー&ペースト時の文字コー...
-
ubuntuでテキストファイルが開...
-
テキストで特定の文字列を含む...
-
ドラッグ&コピー→デスクトップ...
-
XMLの表示文字化け
-
UTF-8 環境をSJIS化した後の改...
-
MacでファイルをPDFに一括変換
-
文字コードの混在しているファ...
-
illustrator cs2「均等配置(最...
-
RedHatで使えるエディタ
おすすめ情報