現在、visual studio2010のvisual C++でメモ帳をテキストボックスに表示するプログラムを作成しています。
しかし、文字コードがASCIIで保存してあるファイルを開こうとすると、文字化けが起こります。
shift-jisなどに変換しようとすると、ほかの文字コードで保存してあるファイルを開いたときに文字化けが起こります。
文字コードがASCIIのテキストファイルを開くときのみ、shift-jisなどに変換しようと思うのですが、文字コードがASCIIであるか、そうでないかを判別できる処理があれば教えていただけないでしょうか?
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ん?
ANSIですか、ASCIIですか、はっきりさせてください。
ちょっと調べたら、メモ帳でのANSIはShift_JISと考えてよいようです。
どちらにしても「Shift_JISに変換」する必要はありません。同じものなんですから。
そうではなくて「Shift_JISから変換」じゃないですか?
開くときにどんな関数(メソッド)使ってるかしりませんが、そこで文字コードを指定するようになっているの「Shift_JIS」と指定する、ってことじゃないですか?
Visual Basicのことになっていますが、仕組みは同じなので参考になると思います。
http://social.msdn.microsoft.com/Forums/ja-JP/vb …
No.1
- 回答日時:
うーん
ASCIIコードというのは7bit(0~127)までしか使っていない上、そのほとんどがShift_JISと一致しています(有名な違いに「円記号とバックスラシュ」があります)
つまり、ASCIIとは、Shift_JISでいわゆる「半角英数」しか使っていない状態と(ほぼ)同じです。字形は判断できないので、コードだけ見れば「同じ」ということになります。
ですから、「ASCIIをSHift_JISに変換」というのも変な話です。
テキストボックスに使ってるのはUnicodeだったりしませんか?
この回答への補足
メモ帳を保存するときは、特に設定を変えなければ、文字コードが”ANSI”で保存されますよね?
その他の文字コードには、”Unicode””Unicode big endian””UTF-8"がありますが、これは文字コードの変換を行わずとも、textboxに表示することができたのですが、ANSIで保存したファイルだけ文字化けが起こるので、shift-jisに変換せずとも文字化けをなくす方法があれば、ぜひ教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vb.netの型変換について
-
エクセルVBAの自動変換機能?
-
Mac 乗数の入力方法
-
基本情報 過去問16年 問4に...
-
アセンブラ言語の数字を数値に...
-
10進数をBCDに変換する方法
-
C++からCへのソース変換について
-
FortranをC++(VC++)へ変換
-
緯度、経度の 10進法と 60進法...
-
C/C++→JAVAに変換するツール
-
PIC AD変換
-
分を時間に変換するプログラム
-
.NET 2003 DateTimeからtime_t...
-
単純【エクセルVBA】なぜオーバ...
-
逆コンパイルと逆アセンブルの...
-
レジリエンス 変換キーが作動し...
-
VBAを使って二進法計算
-
3桁ごとに‘,’をつける関数
-
VisualBasicをC++に変換する方...
-
汎整数拡張の通常の算術型変換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
家電製品の電力周波数を変える機械
-
3のつく数字と3の倍数のみを表...
-
エクセルVBAの自動変換機能?
-
10進数をBCDに変換する方法
-
Mac 乗数の入力方法
-
なぜ通信には16進数文字列が使...
-
VB6からVB2010への変換について
-
VB.NETからJavaに変換するツー...
-
C/C++→JAVAに変換するツール
-
【EXCEL】カナ、ひらがなを英字...
-
VB6で10進数を32進数に変換する...
-
逆コンパイルと逆アセンブルの...
-
分を時間に変換するプログラム
-
php
-
VB.NETをJavaに変換するツール...
-
C#でのpngからbmpへの変換について
-
C++からCへのソース変換について
-
マンセル⇔XYZ,RGB変換式或いは...
-
画像ファイル変換(Tiff→PDF)
おすすめ情報