- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章chr(9)、chr(10)、chr(13)、chr(32)、chr(34)讲解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
chr(9)、chr(10)、chr(13)、chr(32)、chr(34) 所有关于 ASCII码的表格:[url]http://www.asciitable.com/[/url] chr(13) 是一个回车 Chr(10) 是个换行符 chr(32) 是一个空格符 9\34 是tab,未确定? 以下是一些示列 特殊的空格字符 在asp编程中,我们常常使用trim(rtrim,ltrim)函数去掉一些数据的开头和结尾的空格,笔者最近写了一个asp聊天室,有下面的一段代码: 。
- <% dim name,title
- name=trim(request.form("name"))
- password=trim(request.form("password"))
- if name=""or password="" then response.redirect "error.asp?error=name&name=null"
- myDSN="DSN=test;uid=test;pwd=test"
- set cn=server.createobject("adodb.connection")
- cn.open myDSN
- sql="insert into test(name,title) values('"&name&"','"&password&"')"
- cn.execute(sql)
- cn.close%>
笔者使用了trim函数来去掉开头和结尾的空格,在一般的情况下,这段程序执行的很正常,但是后来笔者竟然发现有人竟然可以使用空格进来,意思就是说,该用户的name完全为空格,但是笔者尝试自己使用空格却无论都不能通过(即被程序监测了出来),开头和结尾的空格都被trim函数给去掉了,即使中间有空格,笔者需要的话也可以使用一个函数把中间的空格给去掉,由于笔者使用的是sql数据库记录下的用户资料,于是笔者怀疑他使用了其它什么的东西让系统看不到,于是去察看纪录用户资料的sql数据库(笔者曾经使用这种方法看到了带换行符的用户),但是笔者仍然看到数据库中的改用户的资料也是空格,这难道说该用户使用了一种手段可以绕过我的用户名和密码监测吗???实在找不到程序上的漏洞,于是只能向这位用户请教,幸运的是这位用户爽快的告诉了笔者,原来是"Alt+255",按住alt键然后依次按下小键盘中"2","5","5"就会产生一个比较特殊的东西"空格"字符(这个概念笔者也不是比较清楚,这是一种控制字符,在一些编辑器中可以看到word2000,应该还有其他的控制字符),这个空格字符不同于传统的按下空格键产生的字符,它的asc代码是255,而传统的space键入的空格的asc代码是32,trim函数只能认识asc代码为32的代码并去除,所以出现了出现空格用户的情况!针对这种情况笔者设计了下面的两种函数去掉这"空格"字符
- function xuankong(str)
- dim result
- dim j
- j=len(str)
- result=""
- dim i
- for i = 1 to j
- select case mid(str,i,1)
- case "<"
- result=result+"<"
- case ">"
- result=result+">"
- case chr(34)
- result=result+"""
- case "&"
- result=result+"&" '以上代码转换一些html标记
- case chr(255) '防止特殊空格
- result=result
- case chr(13) '防止回车符
- result=result+""
- case chr(10) '防止换行符
- result=result+""
- case else
- result=result+mid(str,i,1)
- end select
- next
- xuankong=result
- end function
然后在你的asp程序中使用这个函数,比如: 。
- name=xuankong(trim(request.form("name")))
因为字符0-z asc代码的数值为 48-122 这一个区段 ,所以可以使用如下的方法监测: 。
- dim j
- j=len(trim(request.form("name")))
- for i= 1 to j
- if asc(mid(name,i,1))>122 or asc(mid(name,i,1))<48 then response..redirect"error.asp?
- error=special"
- next
虽然这种“空格”暂时没有发现会破坏程序的问题,但是却是可以让人捣乱的,还是防了的好,不过这种空格也有一种好处,如果作为你得上网密码的话,嘿嘿… …恐怕没有几个人能看到吧!看到的都是以为是space,但是却不是… … 笔者不熟悉php和jsp所以不知道在这两种东西中是否会存在这种问题 neweguo 2006-1-12 01:55 AM 如何读出空格 如何读出空格 我们在网页中经常要动态显示从文件中取出来的内容,假如你编写了一个聊天室或论坛之类的程序,每一位发表言论者的内容都要先存在文本文件中,然后再显示在网页上。但是我们在网页上让用户输入内容的控件是文本框。那么文本框中的内容显示在网页上时不能把类似空格、换行的字符显示出来,也就是说没有段落。要想在网页上显示段落,必须在我们输入文本的空格、换行字符处插入HTML标志才能把这些字符显示出来,请看下面的例子。 假如在网页上是一个聊天室画面,我们在文本框中输入内容后,点击“提交”就可在页面上把我们的内容显示出来,文本框名为Text1 ,我们用下面的方法就可以很巧妙地实现显示文本换行和空格的功能.
- <%
- ......
- ......
- str=request.querystring("text1")
- str=Replace(str, Chr(32), " ")
- '把空格换成 标志
- str=Replace(str, vbCrLf, "<br>")
- '把回车换行符换成<br>标志
- Response.write str
- ......
- ......
- %>
经过上面的代码后,我们就把文本中的回车换行符变为浏览器所能识别的<br>换行标,而把空格换为 空格标志。其中Chr(32)表示空格,vbCrLf表示回车换行。 neweguo 2006-1-12 01:55 AM chr(13) 是一个回车 ( 例子:把所有回车符替换为<br/> #Replace(foo, Chr(13), "<br />", "ALL")# ) Chr(10) 是个换行符 所有关于 ASCII码的表格:[url]http://www.asciitable.com./[/url] 。
- <cfscript>
- /**
- * 一个增强版的文章段落格式化函数
- * 使用) 替换TAB,支持多系统
- * Rewrite and multiOS support by Nathan Dintenfas.
- *
- * @param string The string to format. (Required)
- * @return Returns a string.
- * @author Ben Forta ([email]ben@forta.com[/email])
- * @version 3, June 26, 2002
- */
- function Paragrap1hFormat2(str) {
- //first make Windows style into Unix style
- str = replace(str,chr(13)&chr(10),chr(10),"ALL");
- //now make Macintosh style into Unix style
- str = replace(str,chr(13),chr(10),"ALL");
- //now fix tabs
- str = replace(str,chr(9)," ","ALL");
- //now return the text formatted in HTML
- return replace(str,chr(10),"<br />","ALL");
- }
- </cfscript>
最后此篇关于chr(9)、chr(10)、chr(13)、chr(32)、chr(34)讲解的文章就讲到这里了,如果你想了解更多关于chr(9)、chr(10)、chr(13)、chr(32)、chr(34)讲解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
chr(9)、chr(10)、chr(13)、chr(32)、chr(34) 所有关于 ASCII码的表格:[url]http://www.asciitable.com/[/url] chr(13)
一段简单的代码让我大吃一惊: if __name__ == '__main__': writen_text = chr(13) file = open('bug', 'w')
如果我编写以下代码,ReSharper 将建议我将第一个变量 chr3 转换为常量,但不将第二个变量 chr127 转换为常量。 Public Class ClassX Public Sub
我正在用 Visual Basic 编写一个程序,遇到了一个奇怪的问题。我正在通过串行端口将字符串发送到望远镜安装座。当我发送 check 字符串时,作用域可以返回 chr(0) 或 chr(255)
编辑:我说的是 Python 2.7 中的行为。 chr函数将 0 到 127 之间的整数转换为 ASCII 字符。例如 >>> chr(65) 'A' 我明白这在某些情况下是如何有用的,我明白为什么
我正在尝试通过我的串行端口传递一个直接的 ASCII 文本命令,如下所示: string cmd = "Hello World. "; template.Serial.WriteLine(cmd);
我正在使用 PL/SQL 中的电子邮件函数。单击按钮后 Javascript 调用该函数。这工作得很好。 我的问题是我使用 PL/SQL 变量在 Javascript 中生成电子邮件正文。代码看起来像
我必须解决应用程序中的问题。该应用程序是部署到应用程序服务器的 Oracle Form。最后的表格是按下按钮的过程,假设是发送电子邮件。在按钮代码的末尾,它有一个 PL/SQL 代码调用 C:\内的
我使用 Python 来解决来自 exploit-exercises 的原星挑战.我对这段代码在 python 3 中的不同输出感到惊讶。 payload = chr(0x24) + chr(0x84
例如,在西类牙,数字格式为:4.000.000,25(400 万又 1/4)。有没有一种方法可以在不将其更改为字符的情况下更改数字格式(最好是针对整个 R 项目)? 现在我在所有数据帧上执行一个函数。
我正在尝试编写一个简单的程序:在 while 循环中,它接受整数(保证在 0, 255 范围内),将其转换为相应的字符并将该字符写入文件,直到输入整数为 -1。我用 C++ 写的,效果很好。代码是:
c = list(range(97, 121)) 如果我打印它,它会给出 [97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
我在使用 chr() 函数时遇到问题。我的代码首先获取用户输入,将其放入一个数组中,然后使用 ord 函数将其转换为相应的数字值,并对关键字执行相同的操作。然后它使用 zip 函数将两个数组相加以获取
所以我很确定这是一个愚蠢的问题,但我正试图更深入地了解 python chr() 函数。另外,我想知道是否可以始终将整数参数设置为三位数字,或者所有 ascii 值的长度都是固定的? chr(20)
python的chr()相当于什么?和 ord() golang 中的函数? chr(97) = 'a' ord('a') = 97 最佳答案 它们被支持为简单的conversions : ch :=
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界. 这篇CFSDN的博客文章PHP chr()函数讲解由作者收集整理,如果你对这篇文章有兴趣,记得点
我有一个 excel 表,其中的单元格具有可变数量的换行符,我想减少它,以便每个新行之间只有一个换行符。 例如 HELLO WORLD GOODBYE 将修改为: HELLO WORLD GOODBY
我有自己的带有加密功能的 D6 pas 库。今天在XE3下尝试使用,发现里面有很多bug,因为unicode的原因。我尝试移植到 AnsiString,但在 chr(nnn) 上失败了,在 Delph
假设我有 print [chr 0x49, chr 0x9f] 输出 "I\159" 当打印必须显示为转义序列的字符时,如何使 print 使用十六进制数字?这样我的输出就是: "I\x9f" 最佳答
我正在尝试通过串行连接发送文件(来自另一个开源项目)。然而,我在发送大文件时遇到了困难。文件长度无法正确转换。 我通过声明使用 int 数组 encoded = [] 然后找到文件长度。类似的东西 f
我是一名优秀的程序员,十分优秀!