• ベストアンサー

Visual Studioで ユニコード "~" が0xff5eと解釈されるが0x301cと解釈してもらいたい。

Visual Studioで ユニコード "~" が0xff5eと解釈されるが0x301cと解釈してもらいたいのですが可能でしょうか? プログラム中で置き換えるしかないのでしょうか? そうなると全ての文字に対して0xff5eか調べなくてはならず嫌なのですが。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

 前回の補足です。  windowsはシフトJISの世界です。そして、シフトJISには全角チルダは存在しません。あるのは波ダッシュのみです。ところが、波ダッシュをwindowsの世界でユニコード変換すると全角チルダのコードに変換されてしまいます。キーボードから0x301cに対応する文字を入力する方法はわかりませんが、IMEパッドの文字一覧から0x301cに対応する波ダッシュは入力できます。しかし期待通りに動作するかはわかりません。 なんか上手く説明できなくてごめんなさい。

yozakura20
質問者

お礼

回答ありがとうございます。 Web上にあるデータを取得した時に起きた問題です。windowsには無い文字があったんですね。

その他の回答 (3)

回答No.3

以下のものは回答ではありません。    ユニコードで0xff5eは全角チルダであり、0x301cは波ダッシュです。この2つは別物ですが、Windowsのユニコード対応アプリケーションでユニコード保存すると、波ダッシュは0x301cではなく、なぜか0xff5eというコード番号で保存されてしまうのです。これはwindowsのUnicode問題として、DTPやWebの業界では有名なお話です。このことが影響しているのでしょうか? つまり、あなたが0x301cのつもりで作成したデータが実は0xff5eで作成されていたということは考えられませんか? 以上、あくまで参考としてお読みください。 

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

#1です。 投稿の編集時にはff5eと301cとを区別できたのですが、 投稿結果を見ると同じ"~"になってしまいました。 私のせいではありません。

yozakura20
質問者

補足

区別できたってことは文字列として0x301cを入力できるってことですか?

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

~ は ff5e 以外のなにものでもないです。 301c は ~ であって、ff5e とは全く別の文字です。 ~(ff5e)を ~(301c)と解釈したいのであれば、 むりやり置き換えるなどの手立てが必要ではないかと思います。素人考えでは…。

関連するQ&A