2012-02-07 23 views
1

C++とCode :: Blocks(128より大きい文字コード)を使用してコンソールアプリケーションで拡張Asciiコードを使用しようとしています。 http://www.asciitable.com/ コンソールにダイヤモンドの中に疑問符が表示されます。Code :: Blocksの拡張Ascii文字C++

私がこれまで試した:

char myChar = 200; 
cout << myChar; 

cout << static_cast<char>(200); 
+1

拡張ASCIIが存在しません。必要なエンコーディングを記述し、エンコーディングを使用するようにコンソールを設定します。 –

+0

拡張アスキーと呼んでいればいい。だからそこに! –

+0

@DavidHeffernan:問題は、*多くの* "拡張ASCII"エンコーディングがあることです。 [同様の質問とより良い回答](http://stackoverflow.com/questions/618332/c-extended-ascii-characters)を参照してください。 –

答えて

2

charが文字全体が

ではなくunsigned char型を使用して設定し保持することはできません。

unsigned char myChar = 200; 
cout << myChar << endl; 

チャーは、一般signed char型あります。 -128〜127の値を保持できます。ASCIIは0〜127にうまく収まるため、charはASCIIで作業するときに妥当です。

非ASCII文字の128〜255の場合は、より大きなものが必要です。 符号なしの文字は、0〜255の値を格納できます。これは、文字セット全体をカバーします。 これはあなたが必要とするものです。

その他の調査対象があります。あなたはユニコードについて読むことができます。しかし、符号なしの文字はあなたの現在の問題を回避する必要があります。

+0

それもうまくいきませんでした。 –

関連する問題