corazón(9), corazón(10), corazón(13), corazón(32), corazón(34)
Todas las tablas sobre códigos ASCII: [url][/url]
chr(13) es un retorno de carro
Chr(10) es un carácter de nueva línea
chr(32) es un carácter de espacio
¿9/34 es una pestaña, no determinada?
Aquí hay algunos ejemplos
carácter de espacio especial
En la programación asp, a menudo utilizamos la función trim(rtrim,ltrim) para eliminar los espacios al principio y al final de algunos datos. El autor escribió recientemente una sala de chat asp con el siguiente código:
<% nombre oscuro, título
nombre=recortar(solicitud.formulario("nombre"))
contraseña=recortar(solicitud.formulario("contraseña"))
si nombre=""o contraseña="" entonces respuesta.redirect "error.asp?error=nombre&nombre=null"
myDSN="DSN=prueba;uid=prueba;pwd=prueba"
establecer cn=server.createobject("adodb.conexión")
cn.abrir miDSN
sql="insertar en valores de prueba(nombre,título)('"&nombre&"','"&contraseña&"')"
cn.ejecutar(sql)
cn.cerrar%>
El autor usó la función de recorte para eliminar los espacios al principio y al final. En circunstancias normales, este programa se ejecuta normalmente, pero luego descubrí que alguien puede usar espacios para ingresar, lo que significa que el nombre del usuario está completamente en espacios. El autor intentó usar espacios pero no pudo pasarlos (es decir, fue detectado por el programa. Los espacios al principio y al final fueron eliminados por la función de recorte). Incluso si hay espacios en el medio, puedo usarlos. si es necesario. Utilice una función para eliminar los espacios en el medio. Dado que el autor está utilizando la información del usuario registrada en la base de datos SQL, el autor sospecha que ha utilizado algo más para evitar que el sistema la vea, por lo que va a comprobar la base de datos SQL. que registra la información del usuario (el autor he usado este método para ver usuarios con saltos de línea), pero todavía veo que la información del usuario en la base de datos también tiene espacios. ¿Esto significa que este usuario ha usado un método para omitir mi nombre de usuario? y monitoreo de contraseña? ? ? Realmente no pude encontrar ninguna laguna en el programa, por lo que solo pude pedirle consejo a este usuario. Afortunadamente, este usuario me dijo rápidamente que resultó ser "Alt+255", mantenga presionada la tecla Alt y luego presione ". Centro" en el teclado pequeño. 2", "5", "5" producirán un carácter de "espacio" especial (el autor no tiene muy claro este concepto. Este es un carácter de control, en algunos compiladores Puede ver word2000 en el editor, y debería haber otros caracteres de control). Este carácter de espacio es diferente del carácter tradicional generado al presionar la barra espaciadora. Su código ASC es 255, y el código ASC del espacio escrito tradicional es. 32. La función de recorte solo puede reconocer y eliminar el código con el código asc 32, ¡por lo que hay usuarios con espacios! En respuesta a esta situación, el autor diseñó las siguientes dos funciones para eliminar el carácter "espacio":
función xuankong(cadena)
resultado oscuro
tenue j
j=len(cadena)
resultado=""
oscuro yo
para i = 1 a j
seleccionar caso mid(str,i,1)
caso "<"
resultado=resultado+"<"
caso ">"
resultado=resultado+">"
caso chr(34)
resultado=resultado+"""
caso "&"
result=result+"&" 'El código anterior convierte algunas etiquetas html
case chr(255) 'Evitar espacios especiales
resultado=resultado
case chr(13) 'Evitar retornos de carro
resultado=resultado+""
case chr(10) 'Evitar caracteres de nueva línea
resultado=resultado+""
caso mas
resultado=resultado+medio(cadena,i,1)
finalizar seleccionar
próximo
xuankong=resultado
función final
Luego use esta función en su programa asp, como por ejemplo:
nombre = xuankong (trim (solicitud.formulario ("nombre")))
Debido a que el valor del carácter 0-z del código asc está en el rango 48-122, puede utilizar el siguiente método para monitorear:
tenue j
j=len(trim(solicitud.formulario("nombre")))
para i= 1 a j
si asc(mid(nombre,i,1))>122 o asc(mid(nombre,i,1))<48 entonces respuesta...redireccionar"error.asp?
error=especial"
próximo
Aunque todavía no se ha descubierto que este tipo de "espacio" cause problemas que dañen el programa, puede causar problemas y es mejor evitarlo. Sin embargo, este tipo de espacio también tiene una ventaja si se usa como tal. tu contraseña de Internet, jeje... ¡Me temo que no mucha gente puede verla! Se pensó que todo lo que vi era espacio, pero no lo era... El autor no está familiarizado con php y jsp, así que no sé si existe este tipo de problema en estas dos cosas.
neweguo 2006-1-12 01:55
Cómo leer espacios
Cómo leer espacios
A menudo necesitamos mostrar dinámicamente contenido tomado de archivos en páginas web. Si escribe un programa como una sala de chat o un foro, el contenido de cada orador primero debe almacenarse en un archivo de texto y luego mostrarse en el archivo de texto. Página web. Pero el control que utilizamos en la página web para permitir a los usuarios ingresar contenido es el cuadro de texto. Luego, cuando el contenido del cuadro de texto se muestra en la página web, no se pueden mostrar caracteres como espacios y saltos de línea, lo que significa que no hay párrafos. Para mostrar párrafos en una página web, se deben insertar etiquetas HTML en los espacios y caracteres de nueva línea donde ingresamos texto para mostrar estos caracteres. Consulte el ejemplo a continuación.
Si hay una pantalla de sala de chat en la página web, después de ingresar el contenido en el cuadro de texto, haga clic en "Enviar" para mostrar nuestro contenido en la página. El cuadro de texto se llama Texto1. Podemos usar el siguiente método para hacerlo. Implemente muy inteligentemente la función de mostrar espacios y saltos de línea de texto.
<%
...
...
str=solicitud.querystring("texto1")
cadena=Reemplazar(cadena, Chr(32), " ")
'Reemplazar espacios con letreros
str=Reemplazar(cadena, vbCrLf, "<br>")
'Reemplace los caracteres de retorno de carro y avance de línea con el indicador <br>
Respuesta.escribir cadena
...
...
%>
Después de pasar el código anterior, cambiamos los caracteres de retorno de carro y avance de línea en el texto a la marca de avance de línea <br> que el navegador puede reconocer y reemplazamos los espacios con la marca de espacio. Entre ellos, Chr(32) representa un espacio y vbCrLf representa un retorno de carro y un avance de línea.
neweguo 2006-1-12 01:55
chr(13) es un retorno de carro
(
Ejemplo: Reemplace todos los retornos de carro con <br/>
#Reemplazar(foo, Chr(13), "<br />", "TODOS")#
)
Chr(10) es un carácter de nueva línea
Todas las tablas sobre códigos ASCII: [url][/url]
<cfscript>
/**
* Una versión mejorada de la función de formato de párrafo del artículo.
* Utilice ) para reemplazar TAB y admitir múltiples sistemas
* Reescritura y soporte multiOS por Nathan Dintenfas.
*
* @param string La cadena a formatear (Obligatorio).
* @return Devuelve una cadena.
* @autor Ben Forta ([correo electrónico][email protected][/correo electrónico])
* @versión 3, 26 de junio de 2002
*/
function Paragrap1hFormat2(cadena) {
//primero convertimos el estilo de Windows en estilo Unix
str = reemplazar(str,chr(13)&chr(10),chr(10),"TODOS");
//ahora convertimos el estilo Macintosh al estilo Unix
str = reemplazar(str,chr(13),chr(10),"TODOS");
//ahora arreglamos pestañas
str = reemplazar(str,chr(9)," ","TODOS");
//ahora devolvemos el texto formateado en HTML
devolver reemplazar(str,chr(10),"<br />","TODOS");
}
</cfscript>