二进制安全
c中的strlen函数就不算是binary safe的,因为它依赖于特殊的字符'\0'来判断字符串是否结束,所以对于字符串str = "1234\0123"来说,
strlen(str)=4
而在php中,strlen函数是binary safe的,因为它不会对任何字符(包括'\0')进行特殊解释,所以在php中,
strlen(str)=8
所以,我理解的二进制安全的意思是:只关心二进制化的字符串,不关心具体格式.只会严格的按照二进制的数据存取。不会妄图已某种特殊格式解析数据。
strlen(str)=4
而在php中,strlen函数是binary safe的,因为它不会对任何字符(包括'\0')进行特殊解释,所以在php中,
strlen(str)=8
所以,我理解的二进制安全的意思是:只关心二进制化的字符串,不关心具体格式.只会严格的按照二进制的数据存取。不会妄图已某种特殊格式解析数据。
来源:
作者:夏大雨
链接:https://www.zhihu.com/question/28705562/answer/41806793