qué es una alternativa para la función de escape de JavaScript en C# por ejemplo, suponga una cadena: "Hola Foster me falta/usted" dará "Hola% 20Foster% 27s% 20i% 27m% 20missing% 20/usted "si usamos la función de escape de JavaScript, pero ¿cuál es la alternativa para C#. Lo he buscado pero no uso.alternativa de C# para la función de escape de JavaScript
Respuesta
string myString = "Hello my friend";
myString = myString.Replace(" ", "%20");
Esto reemplazaría todo "" con "% 20".
¿Esto es lo que quería?
HttpUtility.UrlEncode() hace eso por usted – Emmanuel
La mejor solución que he visto se menciona en este blog - C#: Equivalent of JavaScript escape function por Kaushik Chakraborti. Hay más para escapar de javascript que simplemente codificar url o reemplazar espacios con entidades.
+1 Sí, la función 'escape' es una bestia única y URLEncode simplemente no se comporta igual. –
@Dan Diplo: thnx amigo, pero ya lo vi, no uso – FosterZ
En la respuesta que publiqué, incluí el código del Reflector para esta función –
A continuación se presenta la implementación escape
función que se encuentra en Microsoft.JScript.dll ...
[NotRecommended("escape"), JSFunction(JSFunctionAttributeEnum.None, JSBuiltin.Global_escape)]
public static string escape(string str)
{
string str2 = "ABCDEF";
int length = str.Length;
StringBuilder builder = new StringBuilder(length * 2);
int num3 = -1;
while (++num3 < length)
{
char ch = str[num3];
int num2 = ch;
if ((((0x41 > num2) || (num2 > 90)) &&
((0x61 > num2) || (num2 > 0x7a))) &&
((0x30 > num2) || (num2 > 0x39)))
{
switch (ch)
{
case '@':
case '*':
case '_':
case '+':
case '-':
case '.':
case '/':
goto Label_0125;
}
builder.Append('%');
if (num2 < 0x100)
{
builder.Append(str2[num2/0x10]);
ch = str2[num2 % 0x10];
}
else
{
builder.Append('u');
builder.Append(str2[(num2 >> 12) % 0x10]);
builder.Append(str2[(num2 >> 8) % 0x10]);
builder.Append(str2[(num2 >> 4) % 0x10]);
ch = str2[num2 % 0x10];
}
}
Label_0125:
builder.Append(ch);
}
return builder.ToString();
}
Código tomado de reflector.
var unescapedString = Microsoft.JScript.GlobalObject.unescape(yourEscapedString);
var escapedString = Microsoft.JScript.GlobalObject.escape(yourUnescapedString);
La mejor solución que he visto que se menciona en este blog - C#: Equivalente de la función de escape JavaScript Kaushik Chakraborti. Hay más para escapar de javascript que simplemente codificar url o reemplazar espacios con entidades.
Noté otra solución en los comentarios del artículo de KodeSharp que puede ser mejor. El comentario dice que es más compatible con UTF-8 y no requiere la referencia a JScript. ¿Es esto mejor?
(Dependiendo de System.Web.Extensions.dll)
using System.Web.Script.Serialization;
JavaScriptSerializer serialiser = new JavaScriptSerializer();
serialiser.Serialize("some \"string\"")
Intenté esta solución, pero Javascript unescape no la "deserializó". Tendría que tirarlo a Refelector para ver lo que realmente hace. – evodev
Se puede utilizar:
string encoded = HttpUtility.JavaScriptStringEncode(str);
Nota: Necesita al menos ASP.NET 4.0 para ejecutar el código anterior .
- 1. secuencia de escape de magento para javascript
- 2. escape en C# para el consumo Javascript
- 3. Unescape escape de JavaScript() usando C#
- 4. alternativa para la función de reposo
- 5. de escape cotización individual en función de JavaScript parámetros
- 6. Función alternativa para pegar
- 7. Alternativa para la función "$ (documento) .ready"
- 8. Escape NSString para javascript input
- 9. ¿Cuerdas de escape para JavaScript usando Jinja2?
- 10. Javascript - SyntaxError captura y ejecutar función alternativa
- 11. Escape de barra invertida en cadena - Javascript
- 12. alternativa C++ para pError()
- 13. ¿Existe una función de suspensión alternativa en C a milisegundos?
- 14. Solución alternativa para la limitación de atributo genérico de C#
- 15. Función alternativa en iostream.h para getch() de conio.h?
- 16. Problema Unicode de doble escape Javascript
- 17. Sintaxis alternativa (K & R) C para la declaración de función frente a prototipos
- 18. Filesystem filename escape? C#
- 19. ¿Hay alguna alternativa para la función date_parse para php 5.1. *?
- 20. Javascript: Escape de comillas dobles en HTML
- 21. Reglas para literales de cadenas C++ carácter de escape
- 22. ¿Alternativa de código abierto a la función fmincon de MATLAB?
- 23. WebKit.NET para llamar a una función de C# desde JavaScript
- 24. Escape de una comilla simple en la función xcat concat
- 25. Escape de comillas dobles en JavaScript controlador de eventos onClick
- 26. ¿Hay alguna alternativa para dormir() en C?
- 27. Mensaje de alerta de Javascript Alternativa
- 28. Alternativa para la pila
- 29. std :: vector alternativa para C
- 30. ¿Cuál es la alternativa de la función eval?
¿Qué estás tratando de hacer? –
chicos, he probado followin 'pero ninguno reemplaza la comilla simple' '' '. Uri.EscapeDataString ("texto") Uri.EscapeUriString ("texto") System.Web.HttpUtility.UrlEncode ("texto") System.Web.HttpUtility.UrlPathEncode ("algún thext") – FosterZ