FAQ~よくある質問~ | FAQマスタ詳細表示
FAQ詳細情報
ID | 10810330 |
---|---|
FAQカテゴリ(大) | コンパイラ |
最終更新日 | 2011-03-13 |
質問内容
日本語を使用する時に「マルチバイト文字をサポートする」にチェックを入れる理由は何ですか?
回答内容
理由は、コンパイラが2バイト文字を認識していないと、2バイトが別々の文字として認識することになり、プログラマの意図してない結果になるからです。
例えば、漢字のうち「能」はShift-JISコードで945cになりますが、5c は1バイト文字の \ と同じです。2バイト目が5cの文字は他にもあり (噂、浬、欺、構)、いずれも文字列の中に \ が存在するとしてコンパイルされます。
ところで「能」は次のように、
a = func(x); // xx機能
コメントの最後に現れる場合が多く、この場合、次の行が継続行になってしまい、コンパイルされないという現象になります。
参考資料URL
- 登録されているURLはありません。