2011-06-22 13 views
0

私はさまざまなページを取得するためにHTTPクライアントとしてlib-cURLを使用しています(その点については任意のURLが可能です)。
通常、データはUTF-8文字列として提供され、次に「MultiByteToWideChar」と呼びます。うまく動作します。cURL HTTPレスポンスからコードページを取り出す方法は?

しかし、いくつかのWebページには、まだ、コードページのエンコーディングを使用して、私はUTF-8にそれらのページを変換しようとする場合、私はちんぷんかんぷんな話を参照してください。

データからコードページを簡単に取得する方法はありますか?手動で( "encoding ="のために)スキャンし、それに応じて翻訳する必要があります。

もしそうなら、どのように私は(Code Page Identifiers)名からコード・ページIDを取得していますか?

おかげで、
Omerの

答えて

1

文書がそのコードを述べることができるいくつかの場所があります

  • Content-Type HTTPヘッダ
  • (オプション)XML宣言
  • Content-Typeメタタグ内のタグ
  • HTML5ドキュメントの場合charsetメタタグ。

さらに、私が忘れてしまった、おそらくあります。

結局、実際のエンコーディングを検出することはかなり困難です。あなたは本当にこれをやってはいけませんが、HTMLコンテンツの取得と解析にハイレベルのライブラリを使用してください。私は彼らがブラウザ環境から盗まれなければならないとしても、C++でも利用可能であると確信しています。 :)

+0

その情報をありがとう、私はそれが非常に多くの場所に現れることが分かっていなかった。しかし、私にとってはそれほど効果的ではありません.JSコードがクロスドメインHTTPリクエストを実行し、最終的にプレーンテキストとしてリクエストを受け取ることができるネイティブホストを作成しています。私はHTML文書全体を解析し、読みやすいテキストに変換するためにこれらのタグを探す必要があります。ちょっと高価(ランタイムに賢明)です。しかし、便利なCOMインターフェイスが見つかりましたhttp://msdn.microsoft.com/en-us/library/aa741001(v=vs.85).aspx – Omer

関連する問題