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字符。
魔众题库系统基于PHP开发,可以用于题库管理和试卷生成软件,拥有极简界面和强大的功能,用户遍及全国各行各业。 魔众题库系统,融合在线题库和在线考试。 魔众题库系统融合了在线题库和在线考试功能,提供了极简界面和强大的功能。它基于PHP开发,采用PHP+Mysql架构,对SEO友好,安全稳定,支持多终端展示,使用起来极其简单。该系统支持模块式搭建,并允许用户进行模板和插件的二次开发,以满足
0
以上就介绍了php二进制安全的含义,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号