タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

encodeとc++に関するyokochieのブックマーク (2)

  • char8_t 欲しい - melpon日記 - HaskellもC++もまともに扱えないへたれのページ

    C++0x からは UTF16 の文字列リテラル(u"...")とその型(char16_t)、UTF32 の文字列リテラル(U"...")とその型(char32_t)が入ります。 そして UTF8 の文字列リテラル(u8"...")も入ります。しかし UTF8 を表す型は入りません。u8"..." は char の配列を返します。 ある関数の引数が "..." と u8"..." のどちらで渡されたのかを区別する方法はありません。残念です。 まあ今更入れろなんて言ったところでどうせ無理だと思うので、諦めて何かうまい方法を探しましょうということで、適当に考えてみました。 struct char8_t { // いろいろ実装 }; const char8_t* u8(const char* str) { return reinterpret_cast<const char8_t*>(str);

    char8_t 欲しい - melpon日記 - HaskellもC++もまともに扱えないへたれのページ
  • ICU による文字コード変換ライブラリ - yanoの日記

    C++ で文字コードを変換するプログラムを作成したので紹介します.以下に実装する関数 encode を用いれば std::string, std::wstring 間で文字コードを変換できます. 文字コードの変換には代表的なライブラリとして libiconv と ICU とありますが,主にライセンス上の理由により今回は ICU を用います. ICU による文字コード変換ついては「ICU 2.x : UnicodeString による文字コード変換」に非常に丁寧にまとめられているので,内部の動きについて知りたい方は是非ご覧下さい. それでは以下に私の実装を示します. encode.hpp #ifndef ENCODE_HPP_20100822 #define ENCODE_HPP_20100822 #if defined(_MSC_VER) && (_MSC_VER >= 1020) # p

    ICU による文字コード変換ライブラリ - yanoの日記
  • 1