タイトル : Re^2: ファイルパスの機種依存文字を取得する方法について 投稿日 : 2014/12/01(Mon) 15:49 投稿者 : マサタロウ
> > 配列変数を再宣言して配列変数に文字コードを格納。 > ここでいう「文字コード」とは、具体的には何を指定していますか? > 先の回答の平方根記号の例などもありますので、どのように得た値なのかも重要です。 No.16031でいう「文字コード」とは、 sjis1(1) = &H95: sjis1(0) = &H87 この部分です。 > たとえば、Shift_JIS では平方根記号が Chr(&H8795) と Chr(&H81E3) の二箇所にマップされていますが、 となっていたため、sjis1に格納されて&H8795となると思いました。 sjis1に格納するコードがないですが、sjis1の値は何になるのでしょうか? s1とs2で同じ変数を使用しているため、sjis2に値が格納されても結果は 同じになると考えました。 上のReDimと下のDimをまとめて実行した場合の結果ですよね? > ニイハオ.TXT な例で挙げた『ファイルのパス』が化ける話とは無関係です。 ファイル名が機種依存文字の場合にファイル内の内容を読み込むために必要と 思いました。読み込んだファイルの内容を変数に格納する方法を探します。 > (たとえば、No16033 の例に挙げた「ニイハオ」を渡すと False が返されます。 No.16031ではないですか? > 文字列が、Shift_JIS として文字化けするかどうかを判定するための関数を作ってみました。 判定するプログラムは『ファイルのパス』が化ける事の回避で 使用しますか? コモンダイアログでファイルパスに機種依存文字が含まれる場合に "?"が表示されます。"?"はファイル名やフォルダ名で使用できない ため、パスに"?"が含まれる場合は機種依存文字と判定できるのでは? (For〜Next、Mid等で) comdlg32.dll の GetOpenFileNameW(関数?)のみで文字化けは回避できますか? GetOpenFileNameWについて調べてみます。 |