Yok C#'In encodeurıcomponent JavaScript için bir eşdeğer var()? | Netgez.com
SORU
17 EYLÜL 2008, ÇARŞAMBA


Yok C#'In encodeurıcomponent JavaScript için bir eşdeğer var()?

JavaScript:

encodeURIComponent("©√") == "©√"

C için bir eşdeğerdir# uygulamalar? HTML karakterleri kaçmak için kullandım

txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
    m => @"&#"   ((int)m.Value[0]).ToString()   ";");

Ama JS kullanan doğru onaltılık biçime maç dönüştürmek için nasıl emin değilim. Örneğin bu kod:

txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
	m => @"%"   String.Format("{0:x}", ((int)m.Value[0])));

Gelirler ""©√" yerine "©√" ©"1a". Dize bayt ya da bir ÅŸey içine ayırmaya ihtiyacım var gibi görünüyor.

Edit: windows uygulaması, sadece öğeleri System.Web mevcut ise: AspNetHostingPermission, AspNetHostingPermissionAttribute AspNetHostingPermissionLevel.

CEVAP
29 Aralık 2010, ÇARŞAMBA


Teknik olarak, ve genellikle uygulamada, oy verdiÄŸim cevap doÄŸru deÄŸildir.

Uri.EscapeUriString HttpUtility.UrlPathEncode bir dize bir URL bir parçası olması gerekiyordu kaçmak için doğru yolu budur.

Örneğin string "Stack Overflow":

  • HttpUtility.UrlEncode("Stack Overflow") -->"Stack Overflow"

  • Uri.EscapeUriString("Stack Overflow") -->"Stack Overflow"

  • Uri.EscapeDataString("Stack Overflow") -->Ayrıca kodlar " " to "+" ---->Stack + Overflow

Tekikincisison URL sorgu dizesi parametrelerini birinin değeri aksine) gerçek bir parçası olarak kullanıldıĞında doğrudur

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • BDGcustoms

    BDGcustoms

    24 NÄ°SAN 2011
  • Jeremy Stark

    Jeremy Stark

    23 Mayıs 2010
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010