2012年2月12日日曜日

Unity WWW (1)


(笑)の略ではなくWorld Wide Web
System.Web.HttpUtility.UrlEncodeが使えない
WWW.EscapeURL()の結果がおかしい?

指定したurlにアクセスして受信結果をテキストファイルに保存するテスト


using System;
using System.Collections.Generic;
using System.Collections;
using System.IO;
using System.Text;
//using System.Web;     // ERROR System.Webが無い
using UnityEngine;

public class TestWWW : MonoBehaviour
{
 public IEnumerator Start() {

        // URLエンコードを行う 結果が"abc+123"
        print(WWW.EscapeURL("abc 123"));

        string url = "http://www.google.co.jp/";

        WWW www = new WWW(url);
        yield return www;
        
        // ShiftJisのエンコーディングを取得
        int codepage = 932;
        Encoding enc = Encoding.GetEncoding( codepage );

        // 受信結果をファイルに保存     ファイルはプロジェクトフォルダにある
        StreamWriter sw = new StreamWriter("./result.html", false, enc);
//        sw.Write(www.text);           // 文字化けしている
        // wwwのバイト配列から文字列を取得
        string strShiftJis = enc.GetString( www.bytes );
        sw.Write(strShiftJis);
        sw.Close();

        print("Start() end");
 }
}

0 件のコメント: