C/C++ゲーム製作総合スレッド Part5at GAMEDEVC/C++ゲーム製作総合スレッド Part5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト967:名前は開発中のものです。 14/06/24 13:33:03.26 IbY2i7BW.net マルチバイト、ワイド文字と、文字コードは別。 windowsでは単に、8ビット単位と16ビット単位で扱うかどうかの差。 968:名前は開発中のものです。 14/06/24 13:58:16.35 Uog3JQdr.net >>939 マルチバイト文字→ShiftJis,UTF8,EUCJP ワイド文字→UTF16,UCS-2 でいいの? 969:名前は開発中のものです。 14/06/24 14:27:45.13 GPkpIMQJ.net 字義的には、一文字をあらわすのに複数の可変長のバイトをつかうのがマルチバイト 同じサイズのワード値をつかうのがワイド文字 ワイド文字は固定長なのでプログラムが 単純になるので楽、というのが本来の想定 windows は歴史的に16bitのユニコード (UCS2)を内部コード兼ワイド文字としてつかってたんだけど ユニコード 970:が拡張されて、16bit 可変長(UTF16)になってしまい、 ワイド文字自体は拡張せずそのまま16bitとしたのでの「ワイド文字」を使ってても マルチバイトと同じことする必要があってプログラム上のメリットは薄れてしまってます ワイド文字は環境固有の内部データで 統一仕様が無いので、外部とのやりとりは かならずマルチバイト文字列を使うのが原則 Unix系だとワイド文字は普通32bitです そういう意味では、そこにでてる名前は全部規格で仕様決まってるのでマルチバイトです。たまたま固定長なだけ Win環境に限ればAPIで「ワイド文字」 というとUTF16のことで、変換関数で 指定のマルチバイトと変換できます。 UCS2は可変長部分をのぞけばUTF16と合致します 他のOSではそうとは限らないので注意が必要。 マルチバイトのファイルは共有できるけど、ワイド文字はあくまでプログラム内部でつかうもの。 完全に環境依存しないためには、 ポータブルな文字コード変換ライブラリの準備と、 ワイド文字仕様を自分で決めて対応する必要があります 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch