0

私のメッセージは通常、SMSgateway(ゲートウェイがメッセージをアプリケーションに転送した)でこのようになります。

settpØll1234 5 6 7 8 121011(このメッセージは正しいです)

しかし、場合によっては、このメッセージは次のようになります。

sett p&oslas; ll 1 2 3 4 5 6 7 8 121011(このメッセージは正しくありません。Øには&oslas;が付属しています)

メッセージが来ると、このメッセージは文字列として届きます&oslas; Øに交換する必要があります。gordØn(gord&oslas; n)のように、別の名前が付いている場合もあります。サイン。

ここで私はそれをやろうとしますが、私の知識はこれを完了するのに十分ではありません。

 protected void Page_Load(object sender, EventArgs e)
{

    try
    {
        string mobileNo = Request.QueryString["msisdn"];
        int  dest = int.Parse(Request.QueryString["shortcode"].ToString());
        string messageIn = Request.QueryString["msg"];
        string operatorNew = Request.QueryString["operator"];

        string []reparr = messageIn.Split(' ');//split it & then check contains
        reparr[1].Contains = '&';
        reparr[1].Contains = ';';
        // In here i need to check that character & replace it to originalone.


        Label1.Text = "ok";

        WriteToFile(mobileNo, dest, messageIn, operatorNew,true,"","");
4

3 に答える 3

2

これらは HTML エンティティのように見えます。次を使用してデコードを試みることができますHttpUtility.HtmlDecode

string messageIn = HttpUtility.HtmlDecode(Request.QueryString["msg"]);
于 2012-10-14T18:52:50.843 に答える
0

HttpServerUtility.UrlDecode を使用して URL をデコードできますhttp://msdn.microsoft.com/en-us/library/system.web.httpserverutility.urldecode.aspxを参照してください

于 2012-10-14T18:54:51.753 に答える
0

Web 名前空間ユーティリティについては知りませんが、以下のコードを使用できます (& と ; の位置が常にメッセージの先頭にあり、これらの文字がメッセージ テキスト内に表示されない場合):

String s = @"sett p&oslas;ll 1 2 3 4 5 6 7 8 121011";
Int32 startIndex = s.IndexOf("&");
String s1 = s.Replace(s.Substring(startIndex, s.IndexOf(";") - startIndex + 1), "Ø");
于 2012-10-14T19:04:12.860 に答える