大家好,汉字一般在网址上是怎么转码的呢,像下面几个汉字,是通过什么转码方式得到的?不是encode。青岛 = %u9752%u5C9B
成都 = %u6210%u90FD
武汉 = %u6B66%u6C49
广州 = %u5E7F%u5DDE具体是携程旅行网,机票查询里的网址 http://flights.ctrip.com/Domestic/ShowFareFirst.aspx?DCity1=TAO&ACity1=CTU&DCityName1=%u9752%u5C9B&ACityName1=%u6210%u90FD&DDate1=2011-12-30&ClassType=&PassengerQuantity=1&&Airline=&PassengerType=ADU&FlightSearchType=S&
额,在asp.net怎么将一个string转换成这个格式?
先谢过各位了

解决方案 »

  1.   

    string s = "青岛";
    StringBuilder sb = new StringBuilder();
    foreach (char c in s)
    {
    string unicodeNumber = ((int)c).ToString("X");
    sb.Append("%u");
    sb.Append(unicodeNumber);
    }
    string result = sb.ToString();
    Response.Write(result);
    你可以自己封装一个方法。
      

  2.   

    protected void Page_Load(object sender, EventArgs e)
    {
    string[] ss = { "青岛", "成都", "武汉", "广州" };
    foreach (string s in ss)
    Response.Write(ABC(s)+"<br/>");
    } private static string ABC(string s)
    {
    StringBuilder sb = new StringBuilder();
    foreach (char c in s)
    {
    string unicodeNumber = ((int)c).ToString("X");
    sb.Append("%u");
    sb.Append(unicodeNumber);
    }
    string result = sb.ToString();
    return result;
    }
    输出:
    %u9752%u5C9B
    %u6210%u90FD
    %u6B66%u6C49
    %u5E7F%u5DDE