• 締切済み

C言語で16進数のunicodeを文字に変換したい

επιστημη(@episteme)の回答

回答No.6

> wchar_tの内部表現がunicodeという決まりありましたっけ? 確かに wchar_t = Unicode(UCS2/4) を期待すると移植性なくなりますね。 厳密にやりたいなら ICU 使うとか、そんな対処になるのかと。

参考URL:
http://site.icu-project.org/

関連するQ&A

  • 文字を変換したい

    こんにちは。 文字列を変換したいのですが、私はコードについて詳しく知らないため、どなたかご存知の方がおられましたら、ご教授をお願いいたします。 質問1: 文字列の変換例を以下に書きます。文字列を左から右へ変換する方法を教えてください。 41→A 42→B 43→C : Unicodeと文字列に対応していると思います。 質問2: 質問1のやり方を色々と調べて見たのですが、以下のサイトを参考にし、'41'という文字列を渡してみたのですが、'A'と出力してほしいのに、'41'がそのまま表示されてしまいました。http://blogs.sqlpassj.org/akiraonishi/articles/4229.aspx Unicodeの認識がないせいか、この辺りの仕組みがよく分かりません。 上記サイトでやろうとしていることと、質問1でやろうとしていることは違うのでしょうか。 以上につきまして、心当たりのある方はお願いいたします。

  • C言語で16進数文字列から16進数数値への変換

    C言語で、16進数文字列を16進数に変換したいのですが解りません! 教えていただけないでしょうか?

  • コンソールにUNICODE (C#)

    Console.WriteがUNICODEを出力してくれません。 Console.Write("(UNICODEを含んだ文字列)"); としてもUNICODE依存の文字は全部?になってしまいます。 Windows2000、XPのコンソールにはIMEやクリップボードからUNICODEが入力できるのは確認できているし、CからAPIのWriteConsoleWを使った場合でもUNICODEが出力できることは確認しています。

  • CIDコードからUNICODEへの変換???

    .NETのC++でプログラムを作っています 外部から文字列が渡されますが、この文字列はCIDコードです これをUNICODEに変換して使用したいのですが、その方法が分かりません 『 CID UNICODE 変換 』をキーワードにして検索しましたが適当な資料に出会えません C++から呼べる変換関数などをご存知でしたらご指導お願い申し上げます 宜しくお願い致します

  • PHPにおいて16進数のアスキー文字とユニコード

    文字列の明確な違いがわかりません。 たとえば16進数のアスキー文字であれば print "\x41"; とした場合  A という文字が出力されます。 また print 0x41; とした場合はアスキー文字ではなく 65という10進数における数値が出力されますね。 さらには print "\xe6\x96\x87\xe5\xad\x97\xe5\x88\x97"; と記述すると 文字列 という文字が出力されます。 ではそうではなくユニコード文字列というのはなんなのでしょうか? 一般てきに \u0000 という形式で表記される物ですが、コレがいまいちわかりません。 これは16進数のアスキー文字によるマルチバイト文字の再現と何がことなるのでしょうか? たとえば、JSONなんかを単純に出力してみるとこのユニコード文字列という形式で表現されますよね? このユニコード文字列の実態?を知りたいです。 よろしく御願いします。

    • ベストアンサー
    • PHP
  • C言語でUnicodeの文字列を扱う正しい方法が知りたいです。

    C言語でUnicodeの文字列を扱う正しい方法が知りたいです。 例えば、変数の中に格納された文字列が「a=3」かつ、文字列が「test」であれば処理を実行するといったプログラムの場合、 int a; a = 3; TCHAR file1[128]; file1 = TEXT"test"; if(a = 3 && file1 = TEXT"test"){//実行する処理}; のような形を考えましたが、エラーは出ないものの処理が実行されずに素通りしてしまいます。。 環境はVisual C++ 2008 Expressで、種類はコンソールプログラムではなく、GUIを持ったWindowsプログラムです。 どこを間違えているのでしょうか?

  • ユニコードへの変換について

    JavaScript で %82%A0 ・・・といったデコードされた 文字列から、ユニコード %u3042・・・ へ変換する 方法を教えてください。なにとぞお願いします。

  • 漢字をUnicodeに変換する方法を教えてください!

    現在取り組んでいるシステム開発で、漢字が含まれている文字列をUnicodeに変換する処理を行っています。例えば、 StrConv("出力", vbUnicode) 上記の変換結果は、"(8)娚"となります。この文字を、 StrConv("(8)娚", vbFromUnicode) このように再び漢字に戻した結果、"宇力"という文字化けが発生してしまいます。 いろいろと調べていたら、"出"と"宇"のUnicodeへの変換結果がどちらも"(8)"で同じである事に気付きました。これは一体、どういうことなのでしょうか? 漢字を文字化けさせないでUnicodeに変換するにはどうすればよいですか? また、Unicodeに変換する関数;MultiByteToWideChar()のVBでの記述方法や宣言の仕方など詳しく教えて下さい!! よろしくお願い致します。。。

  • C言語で16進数の文字コードを文字列に変換

    16進の文字コードを入力してそれに対応する文字列を出力したいのですが 文字列から16進コードに変換出来ても16進コードから文字列に変換することが出来ません。 参考になるコードかサイト、または何かヒントがございましたらよろしくお願い致します。

  • Objective-C文字列からC言語文字列に変換したいのですが、どう

    Objective-C文字列からC言語文字列に変換したいのですが、どうすればよいでしょうか? C言語からObjective-cなら NSString *cToOc = [[NSString alloc] initWithCString:"結果" encoding:NSUTF8StringEncoding]; NSLog(@"%@", cToOc); でよいのですが、その逆が知りたいです。 あとこの cToOcは以下のように解放しないといけないのでしょうか? [cToOc release];