(1)Windows2000、WindowsXP、WindowsVistaでの、ファイル名に使用される文字コード。

(2)WindowsXPのタスクトレイからのポップアップ表示に使用される文字コード。
(3)WindowsVistaに(2)のようなポップアップ表示機能があれば、そこに使用される文字コード

※すべて日本語版のWindows

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/02/15 05:23:28
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Bookmarker No.1

回答回数191ベストアンサー獲得回数34

ポイント60pt

下手に終了して消えてしまうと困るので(中略)

なんでもかまわないので回答してもらえると

たぶん消えないとは思いますが、一応書いておきます。


質問からはそれるし、余計なお世話かもしれませんが…

ざっくりまとめてしまうと、こういうことになりそうです。

・Windows9x系では基本的にShift-JIS。

・NT系では内部はunicode、入出力時は基本的にShift-JIS。

※日本語版の場合

いろんなところで話題になっているのでご存知だとは思いますが、Vista では JIS X 0213 に対応していますが、下記の記事によると JIS X 0213 対応は Unicode だけのようです。

小形克宏の「文字の海、ビットの舟」

これ以上シフトJISをベースとした中では、文字の拡張はしない

これは、今後は Unicode を使ってくれという Microsoft の意図だと思います。

ですから、Vista 対応ソフトウェアを開発されるのでしたら、API 名の末尾に A や W を明示せずに、コンパイルオプションで切り替えられるようにしておいた方が良いと思います。

id:router

追加情報ありがとうございます。

ardarimさんはどうやらもうここを見ていないようなので、そろそろ終了します。

2007/02/15 05:22:55
  • id:ardarim
    質問の意味が分かりませんのでもっと具体的に説明する必要があると思います。
    Windows (2000/XP/Vista)の内部管理的にはすべてUnicodeですが、それが分かったところで何か意味があるとは思えません。
    フォント名のことを言いたいのでしょうか?
  • id:router
    コメントありがとうございます。

    Windowsではファイル名に日本語が使用できると思いますが、日本語なので当然何かしらの文字コードが使用されていると思います。
    今回の質問(1)はこの文字コードをお尋ねしています。

    なお、確証は無いですが、WindowsXPではファイル名に使用される文字コードはShift-JISのようです。
    Windows上で日本語のファイル名をつけたファイルをアップロードし、文字コードを自動判別しないFTPクライアントを使用して確認したところ、Shift-JISに設定した場合のみ、文字化けせずに見ることができました。

    (2)、(3)については用語を間違えていました。すいません。
    バルーンメッセージと呼ばれるもので、以下URL先のようなものになります。
    http://www.iodata.jp/support/before/use/200502/images/ramp01.gif
    この中に日本語を表示させる場合の文字コードが、質問内容になります。

    引き続きよろしくお願いします。
  • id:Bookmarker
    詳しくないのでここにコメントします。

    >>
    日本語なので当然何かしらの文字コードが使用されていると思います。
    <<
    日本語かどうかは関係ありません。ASCIIだって文字コードです。

    >>
    WindowsXPではファイル名に使用される文字コードはShift-JISのようです。
    <<
    ファイルシステムによると思いますが、NTFSの場合はUnicode、FATの場合はShift_JIS(現在のコードページに従う?)だと思います。

    FAT、HPFS、NTFS ファイル システムについて:
    http://support.microsoft.com/default.aspx?scid=kb;JA;100108

    >>
    文字コードを自動判別しないFTPクライアントを使用して確認したところ、Shift-JISに設定した場合のみ、文字化けせずに見ることができました。
    <<
    NT系のWindowsは、ardarimさんがおっしゃっているように内部コードはUnicodeです。ですが、APIにはマルチバイト文字用とワイド文字用とがあって、マルチバイト文字用のAPIを使って文字列を取得すると、現在のマルチバイト文字のコードページの設定に基づいて変換されます。
  • id:router
    コメントありがとうございます。

    なんとかそれなりの答えが見えてきました。
    Bookmarkerさんの言うAPIをヒントに調べてみたところ、
    以下のページにたどり着きました。

    http://www.atmarkit.co.jp/fdotnet/dotnettips/025w32string/w32string.html

    ざっくりまとめてしまうと、こういうことになりそうです。
    ・Windows9x系では基本的にShift-JIS。
    ・NT系では内部はunicode、入出力時は基本的にShift-JIS。
    ※日本語版の場合

    バルーンメッセージもAPIで操作することを考えれば同じになりそう。

    ところで、この質問はコメントは頂きましたが回答がありません。
    終了するとどうなるんでしょうか。
    下手に終了して消えてしまうと困るので、ardarimさんBookmarkerさんはなんでもかまわないので回答してもらえると、ポイント配って終了できるのでいいかなと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません