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

  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • MndsgnVEVO

    MndsgnVEVO

    26 Kasım 2013
  • Tire Rack

    Tire Rack

    31 Mayıs 2007