締切済み unicodeからマルチバイトへ 2009/05/20 19:05 unicodeからマルチバイトに変えたので、ウィンドウズプログラムが できるようになりました。 でも、問題は毎回unicodeでマルチバイトに変えるのが面倒です。 どうしたらせっていできるのでしょう? みんなの回答 (3) 専門家の回答 みんなの回答 titokani ベストアンサー率19% (341/1726) 2009/05/21 11:49 回答No.3 unicodeのままでも、ウィンドウプログラムは作成できますよ。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 zwi ベストアンサー率56% (730/1282) 2009/05/21 11:46 回答No.2 すいません補足します。 カスタムウィザードの作成でVC++2008EEでも可能かもしれません。下記サイトを参考にしてみてください。 http://msdn.microsoft.com/ja-jp/library/bhceedxx(VS.80).aspx http://docs.google.com/Doc?id=ddszvtfx_61dwpdbgb 私もチャレンジした事が無いのでちゃんとしたものが出来る保障は出来ません。ご了承ください。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 zwi ベストアンサー率56% (730/1282) 2009/05/21 11:27 回答No.1 VS2005EEならオリジナルのプロジェクト・テンプレートの作成が可能らしいですがVS2008EEだと無理みたいです。 どのバージョンのVCをお使いですか? あと、無料版ですか有料版ですか? 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発C・C++・C# 関連するQ&A VC++ マルチバイト文字とUniCode文字?? VC++のプロジェクトプロパティには文字セット指定があります 『マルチバイト文字セット』『UniCode文字セット』の2者が選択出来ますが、これらの選択の優劣は何処にありますか? この選択の適否が分からない私は参考にしているサンプルがマルチバイトである時にはマルチバイトを、またUniCodeで書かれたサンプルを見ている際にはUniCodeを指定しており、恥ずかしいかぎりです 選択の判断基準を如何すれば良いのかご指導をお願い申し上げます 更に恥ずかしい質問】なぜC#には文字セット指定が見当たらないのでしようか??? UNICODE対応にするメリットは? VisualStudio2005 VC++を用いたアプリケーション開発に、今まではマルチバイト文字を使ってきたのですが、時代の流れとしてはUNICODEに移行すべきなのかな、と漠然と思っています。 ここで疑問なのですが、ずばりUNICODEに移行するメリットは何でしょう? 今のままマルチバイトを使っていても困ることは無いような気がしますし、日本語版・英語版の両方をリリースする場合もリソースの言語切り替えで対応できていますので、UNICODEにどのような利点があるのか、いまひとつピンときません。 unicode←→JISコード Borland C++ Builder5で、メール関係のプログラムを書いていますが、VBAが返すunicodeをjisに変換したいのです。それ用のAPIがあるらしいのですが、APIリファレンスが手元にないわ、買うにも高すぎるわで、困っています。 APIを直接聞いちゃうのはルール違反かもしれませんので、違う質問をします。 BorlandについてくるHELPでWideCharToMultiByteというのがあります。これが解決に近いですか? というか、ワイドキャラクタとマルチバイトって、どう違うんでしょうか? ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム unicodeと2バイト文字 文字コードにすごいうとい者なのですが、見慣れない _tmain なんていうものを見てしまって、少し調べてみました。 そうすると、なんだか2バイトでは世界中の文字はもとより、感じすらすべて表すことは不可能で、今のunicode主流は3バイトで表現するのだとか。 で、私の知識の中では、C言語ではwchar_tでunicodeを表現しているらしいのですが、それじゃあ足りないわけで、ちゃんとした3バイト文字を表現するための公式的?な記述方法は(WIN32 APIで)あるのでしょうか。(その他MFCなどでもあれば。) 本人こういう事柄について、今まで考えたこともなく、よくわからないまま質問しているので、どうぞ怒らないでください。 よろしくおねがいします。 Unicode 先日は文字コードについて色々助言してくださりありがとうございました。 おかげさまでJIS,EUC,SJISの変換はできましたが、 Unicodeについて詰まっているところがあります。 SJIS→UnicodeはSJISにあったU+XXXXに変換し、 それを1~4バイトにさらに変換して文字表記されることで出来ます。 後者の1~4バイトにさらに変換するやり方は出来ているのですが、 前者のSJISにあったU+XXXXに変換するところで詰まっています。 ##SJIS Unicode Name Note 0x00 U+0000 # <control> 0x01 U+0001 # <control> 0x02 U+0002 # <control> 0x03 U+0003 # <control> 0x04 U+0004 # <control> 0x05 U+0005 # <control> 0x06 U+0006 # <control> 0x07 U+0007 # <control> : : こういった変換表(テキストファイル)があるのですが、 どのようにしたらこのファイルをプログラム上で操作? できるのでしょうか? 例)SJISで0x07→U+0007→1~4バイト変換の 0x07→U+0007部分についてです。 また、逆に変換する際の0x07←U+0007についても わからないでいます。 何かヒントをください。 マルチバイト関数の呼び出し方 WindowsXP上でApache2.0.54とPHP5.0.4を使ってPHPのテストサーバを立てたのですが、マルチバイト関数をまったく読み込んでくれません。 PHPのコアファイルなどを "C:\Program Files\" 以下に "PHP 5.0.4" と言うフォルダをつくり、そこに保存してあります。Apacheの設定ファイルでPHPのモジュールをそのフォルダから呼び出して、うまくPHPが動作しました。また、PHP.ini上でextensionを "C:\Program Files\PHP 5.0.4\ext\" から読み出すようにしました。もちろん、extension一覧にあるphp_mbstrings.dllのコメントははずしてあります。 どのようにしたら、マルチバイト関数を呼び出せますか? よろしくお願いします。 Unicodeは使うべきなのでしょうか? ※いまいち文字コードの事が良くわかっていない者です。 今まで、半角1バイト 全角2バイトでプログラミングして来ました。 しかし最近Unicodeの存在に興味や疑問や怖さが募っています。 ■質問1 ・半角1バイト 全角2バイトという扱いは 将来的に廃止され締め出されてしまう危険などが有るのでしょうか? ■質問2 ・ブラウザ/一部チャットのように多言語同時表示は 文字数分大量の無駄なデータ送信負荷になってないのでしょうか? 時に1文字6バイトにすらなるとも聞くだけに疑問です。 ■質問3 ・Unicodeだと、半角1バイト 全角2バイトの扱いに比べ 保存も管理も通信も、無駄が増えるだけにも思えてしますます。 Unicodeをプログラマーの皆さんはどう認識し使ったり使い分け しているのでしょうか? 漠然とした質問で申し訳ないですが、 何かご助言を頂けますと幸いです。 2バイトフォントのアポストロフ(ユニコード2019)は全角用ですか? こんにちは。 No.1004384の関連ですが、参照していただく必要はありません。 2バイトフォント(小塚明朝)だけで和欧混植を しようとしています(InDesign2.02+WindowsXP)。 その欧文部の中でアポストロフ(ユニコード2019)を 使ったのですが、アポストロフだけが明らかに大きく太く、 目立つような感じになります。コンマよりどっしりしています。 一方、1バイトフォント(欧文)の書体で確認してみると コンマとアポストロフの大きさは同程度で 目立つような感じにはなりません。 【質問】 1)2バイトフォントのユニコード2019は全角用であり、 欧文部で使用すべきではないものなのでしょうか? 2)アポストロフは「ユニコード2019を使うのが常識」という 話をよく聞きますが、2バイトフォントでも2019なのでしょうか? それとも2バイトフォントのみで和欧混植をしようとすること自体が そもそも非常識なのでしょうか? 欧文組版をしたことがなく、初歩的な質問で申し訳ありません。 VC++で日本語(マルチバイト)ファイルの読み込み VC++で日本語(マルチバイト)の文字が含まれているファイルを読み込もうと思っています。 例えばunicodeのファイルとして下記の内容があるとして、 11111 abcdef いろはにほへと このファイルから1文字ずつ読み込みたいのですが、ヘルプで調べたところfgetwc関数でマルチバイトの読み込みができるということを調べました。 ファイルのオープンは_wfopenを使用しているのですが、テキストモード・バイナリモードでどちらで開いても、fgetwc関数の戻りはファイルを1byte読んだ結果を返します。 半角文字の場合は"1"とか"a"を単純に呼んで、マルチバイト文字であれは"い"とか"ろ"というデータを読み込みたいのですが、どうすればいいでしょうか? エディットコントロールへのUnicodeの入力 VisualStudio2005 C++、マルチバイト文字セットでWindowsアプリ ケーションを作っています。動作環境は、WindowsXP SP3 (x86)。 モーダルダイアログに貼り付けたエディットコントロールでは、 MicrosoftIMEStandard2002で変換確定した文字(例えばハート (U+2665))が表示されるので、GetWindowTextW()でそのユニコード 文字列を取得できるのですが、 モードレスダイアログに貼り付けたエディットコントロールでは、 変換文字列が'?'にコンバートされて表示されてしまいます。 コピー&ペーストでは、Unicode文字も表示できるので、 IMEの変換後の処理がうまくいっていないと思うのですが、 どのようにすれば、変換確定しても'?'にコンバートされずに 文字列が表示できますでしょうか? お教えください。よろしくお願いします。 (むかしつくったアプリのため、Unicodeでビルドするには 修正が多いので、マルチバイトのビルドでやりくりしたいのです。) unicodeの表示 C言語でプログラミングをしているのですが、unicodeの表示方法がよくわかりません。┌という文字(unicodeでU+250C)を表示したく、wchar_t型など調べたのですがプログラムの書き方がよくわかりませんでした。unicodeを直接指定する方法か'┌'のように直接指定する方法が知りたいです。アドバイスお願いします。 マルチバイト関数 今ちょうどマルチバイト関数について勉強(独学)してるところなのですが マルチバイト関数をプログラム中で使えません。 私のプログラムが間違ってるのかと思い、サンプルをそのままコピーしたもの。 それを実行してみたのですが結果は同じでした。 Fatal error: Call to undefined function mb_substr() in C:\...\4-1.php on line 3 といったようなエラーです。 上手く設定がいってないのかなとphp.iniを見直すことにしました。 今phpのモジュールはC:\phpに解凍した中のextに入ってます。 ですから extension_dir = "C:\php\ext" といった風に設定しました。そして extension=php_mbstring.dll のように書きました。 C:\php\ext以下にこのphp_mbstring.dllが存在することは確認済みです。 テキストではこれで上手くいっているのでApacheを再起動して実行してみましたが どうしても先ほどのエラーが出て先に進みません。 いったいどうすれば使えるようになるのか教えていただけませんか? AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム _TCHAR、LPCWSTRについて 'MessageBoxW' : 2 番目の引数を '_TCHAR' から 'LPCWSTR' に変換できません。 というエラーが出ました。 いろいろHPを回って_TCHARはUnicodeの場合はw_char、マルチバイトのときはcharで処理されると書いてあったのですが、どうしても直せません。 現在Unicodeとマルチバイトの両方に対応させたプログラムを書きたいと思っています。 どうすればいいでしょうか。 よろしくお願いします。 unicode と shift_jis テキストファイルを読み込みデータを作成して出力するプログラムを作成しているのですが国際化させることになりました。そこで問題が‥テキストファイルが日本用はshift_jis、海外用はunicodeで構成されています。shift_jisでの文字列操作は良いとしてunicodeが全然わかりません。海外向けを想定したときに気をつけなければならないこともわかりません。なんでもいいので教えてください。お願いします。特に、unicodeの文字列操作はまったくよくわかりませんので細かい点から教えていただけると光栄です。よろしいお願いします。 マルチバイトと英語版Windows7 VS2005 で MFC を使いながらエディターを作ったりしています。 プロジェクトファイルの設定で、 マルチバイト文字セットを使用する とした場合、日本語のWin7では、うまく表示できますが、 この作成されたソフトを、英語版のWin7の上で動かした場合、 文字はきちんと表示されるのでしょうか? Unicode文字セットを使用する にして、作り直さないと、英語版のWin7ではうまく動かないのでしょうか? よろしく、お願いします。 WindowsのUNICODEをJavaのStringに変換したい Windowsからソケット通信でUNICODE(little endian)文字列を受け取っています。 bufferはバイト配列で格納されているとして String text= new String(buffer);とか String text= = new String(buffer,"MS932");とか String text= new String(buffer,0,長さ,"UNICODE"); などとするのですが漢字コードが化けてしまいます。 エンディアン並びを逆にしたりしましたがやはり同じです。 半角の場合、例えば「abc」なら「 a b c」と 0x0の部分がスペースになっていました。 ところでWindowsがメモ帳などではき出すunicodeはjavaのunicodeとは違う と聞きましたがどうなんでしょうか? 宜しくお願いします。 ※バイト配列をそのまま返すとそれをWindowsクライアントは表示するので 通信部分でバイト配列が壊れている事は考えにくいです。 DLL呼出し元の使用コード判定法??? .NET C++でDLL(マルチバイト指定)を作りました DLL呼出し元からデータを受取り別の表示プログラム(マルチバイト指定)に渡して表示させます DLL呼出し元がマルチバイト指定である時には正確に表示します ところがDLL呼出し元がUNICODE指定である場合にはメチャクチャな文字が表示されます 多分UNICODEの際にはDLL内部でANSIに変換してから表示プログラムに渡せば良いのだろうと思います ところがDLL呼出し元がANSI/UNICODEのいづれかを使用しているかの判定方法が分かりません この辺りのことをご指導お願い申し上げます マルチバイトのチェック 文字を格納した変数に、マルチバイトが含まれていたらtrue無ければfalseみたいな処理がしたいのですが、どのようにすればよいでしょうか? Vbscript Unicode文字の判定 今、テキストファイルがあり、その中には「Unicode文字」が含まれています。 タックシール(ダイレクトメール用)に出力するのに、マンション名やビル名は改行しなければなりません。 1行に印字できる文字数は全角で20文字(40バイト)です。 したがって、「住所1」と「住所2(マンションやビル名)」の正確なバイト数を調べるのですが、今、「Unicode」のテキストファイルを作って、確かめたところ、半角文字は、そのまま「Asc()」で正の整数で返ってきます。 また、通常の2バイト文字(全角スペースから外字の最終文字)までは、負の整数で返ってきました。 しかし、「Unicode」文字は、常に「63」で返ってきます。 Character Code「63」は、半角の「?」です。 どうやら、「VBScript」は「Unicode」文字をすべて「?」として認識してしまうようです。 通常は、住所に「?」はないはずなのですが、最近、お客様のデータを見ていると、半角の「-」が、よく、半角の「?」に化けているので、「?」はちゃんと1バイトとして、Unicodeの文字は2バイトとして調べなければなりません。 VBAのように「Len()」と「LenB()」があれば、問題ないのですが、「VBScript」では、正しく動作しません(すべて「2」と返してきます)。 正確に文字数(バイト数)を調べるには、どうすればよいのでしょうか? unicodeにしかない漢字をSJISの外字に簡単登録 Windows OS上には、Shift-JISにないunicode文字が たくさんありますが、shift-JISで漢字を処理している プログラムでは、プログラムをunicode対応に変更する 方法もありますが、変更をしないとすれば、Shift-JIS上の 外字を作成し、コードを対応付けして変換するようにするしかありません。(あまり頻度は多くはないので) ただ外字エディタで外字を作るのはかなり面倒な作業です。 unicode上の漢字イメージ情報を元にShift-JISの外字へ登録するようなツールはないでしょうか? あれば、外字対応が非常に楽になるのです。 ご存じの方があれば教えて下さい。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など