PHP里,有string的概念。
string里,每个字符的大小为byte(与PHP相比,Java的每个字符为Character,是UTF8字符,C语言的每个字符可以在编译时选择)。
byte里,有ASCII代码的字符,例如ABC,123,abc,也有一些特殊字符,例如回车,退格之类的。
特殊字符很多是不能显示的。或者说,他们的显示方式没有标准,例如编码65到哪儿都是字母A,编码97到哪儿都是字符a,退格在有的地方显示成一个符号,在有的地方就会真的把前一个字符退掉。
PHP以C为基础,所以很多描述都是以C为对比。C的字符串里,一种经典的定义就是,以编码0作为字符串的结尾。那么,假设这样一个string,里面3个字符的编码分别是97,0,97。那么,C里面如果有str_replace等效的函数, 利用它把97换成98,那么这个函数读取到0的时候,就认为已经结束了,就会得到98,0,97。跟它对应的,PHP里的str_replace是二进制安全的,那么这个0不会被视为特殊的结束符号,于是结果就是98,0,98。
【二进制安全】在PHP文档里,基本就是这么一个意思:C语言里的功能类似的函数会对有的字符特别处理,而PHP这个函数对于所有字符一视同仁,不用担心会有特殊字符影响处理,特别不用担心编码0字符。
分享到:
相关推荐
综上所述,"Flash保存图片PHP版"是一个关于如何在服务器端利用PHP处理由Flash应用传递的图片数据并保存为文件的过程,涉及到网络通信、二进制数据处理、文件操作以及安全性等多个方面。这个过程需要对PHP和Flash技术...
// 结果为 2 (二进制为 010) ``` 在这个例子中,`$a`和`$b`的每一位进行异或,结果为2。 4. **异或在安全中的应用**:在加密和安全领域,异或经常被用来混淆数据。例如,对数据进行异或加密后,只有知道原始密钥...
常见问题可能包括PHP与操作系统兼容性、PHP版本选择、线程安全选项的含义,以及如何解决安装过程中遇到的依赖冲突等。 “PHP(Manual Installation Steps).pdf”则可能详细介绍了手动安装PHP的步骤。手动安装通常...
Base64是一种将二进制数据转换为ASCII字符集的编码方式,主要应用于邮件系统、XML和JSON等文本格式的数据中。Base64编码把每3个字节(24位)的数据转换为4个Base64字符(每个6位,共24位)。在PHP中,可以使用`base...
- **作为CGI二进制文件安装**:针对以CGI方式部署PHP的应用程序,提出了安全性建议。 - **作为Apache模块安装**:对于Apache服务器下的PHP应用,提供了安全性的指导。 - **文件系统安全**:讨论了文件系统权限管理的...
通过这个文件,开发者可以学习如何在PHP中进行文件操作和二进制数据解析。 3. **QQWry.Dat数据库文件** QQWry.Dat是纯真IP数据库的核心,其中包含了大量IP地址及其地理位置信息。这个文件通常以二进制格式存储,...
Windows系统的安装通常提供了预编译的二进制包,安装过程较为简单,只需选择合适的版本下载并按照提示完成即可。 #### 7. PECL扩展库安装 PECL (PHP Extension Community Library) 是一个存储库,包含了大量的PHP...
需要注意的是,这个修饰符的效果仅在目标字符串不是二进制安全的情况下才能体现出来。 总结来说,`/u`、`/i`和`/s`是`preg_match`函数中非常重要的修饰符,它们各自提供了强大的功能来扩展正则表达式的匹配能力。...
【标签解析】:“源码”标签表示这个压缩包包含的是可以编译或执行的原始代码,而不是编译后的二进制文件。对于开发者而言,源码能提供更多的学习和定制机会,可以深入了解系统的工作原理,并根据需求进行修改和扩展...
- 这两个函数都是二进制安全的,这意味着在使用时,它们可以正确处理含有二进制数据的字符串,而不会因为二进制值的出现而发生错误。 - 如果start参数被提供,搜索将从指定的位置开始,而不是从字符串的开头。这在...
- **WAMP含义**:Windows, Apache, MySQL, PHP。 - **安装步骤**:下载WAMP安装包,按照提示完成安装。 ##### 1.18 Apache在网络结构中的位置 - **位置**:位于客户端与后端数据库之间,负责处理HTTP请求。 ##### ...
2. `php_base64.asp`:此文件展示了Base64编码的用法,Base64是一种将二进制数据转化为可打印ASCII字符的编码方式,常用于在邮件系统中传输二进制数据。 3. `uc_authcode.asp`:这是uc_authcode函数的ASP实现版本,...
IBM AppScan基于静态分析技术,无需运行代码即可对源码或编译后的二进制文件进行深度检查。它通过分析代码结构和逻辑,识别出可能导致安全漏洞的模式。这种技术的优点在于可以在开发周期的早期发现问题,而不是等到...
这样,即使数据是二进制的,也可以安全地通过只支持文本的媒介(例如电子邮件或网页)进行传输。 在PHP中,可以使用内置函数`urlencode()`进行URL编码,使用`base64_encode()`进行BASE64编码。相对应地,`urldecode...
2. 如果替换的是二进制安全的数据,应当使用strtr()或者str_replace()函数,因为这些函数在处理二进制安全数据时更加合适。 3. 在处理大量数据或者高频率替换时,应当评估该函数的性能,确保不会对程序性能造成负面...
启用此选项后,cURL在启用CURLOPT_RETURNTRANSFER选项时,将返回原始二进制响应流,而不是处理过的文本。 3. CURLOPT_COOKIESESSION 启用此选项时,cURL只会传递一个session cookie,而忽略其他cookie。这在只关心...
- `$signature`:原始二进制字符串,通过`openssl_sign()`或类似的函数生成。 - `$pub_key_id`:一个密钥,可以通过`openssl_get_publickey()`函数返回。 - `$signature_alg`:签名算法参数,可以是int类型或string...
Base64是一种用于将二进制数据编码为ASCII字符串的方法,可以包含字母、数字和两个特殊符号'/'和'+'。然而,这两个字符在URL中是不安全的,因为它们有特殊的含义。 4. **Base64与URL兼容性**: - 在URL中使用Base...
源码下载意味着用户可以直接获取到程序的原始代码,而不是预编译的二进制文件,这样便于定制化开发和深度整合。 描述中的“很好的源码,全网站得得得得的耳朵如果人人个人二哥热隔热个”虽然看起来像是随机的字符...