安全地连接多字节字符串
我越来越注意确保PHP应用程序是多字节安全的,这主要涉及用它们的equivilant mb_ *函数替换字符串操作函数。
然而字符串连接让我暂停思考。
一些字符编码(例如UTF-16 unicode)可以在开始时包含一个字节顺序标记。 如果将两个UTF16字符串连接起来,则可以在开始位置以外的位置将结果字符串引入结果字符串中。 我怀疑还有其他的编码也可以包含“标题”信息,例如将两个相同编码的字符串拼接在一起也是有问题的。 在执行多字节字符串连接时,PHP是否足够聪明以放弃物料清单等? 我怀疑这并不是因为PHP传统上只将字符串视为一系列字节。 是否有一个多字节安全等价于串联? 我一直无法在mbstring文档中找到任何内容。
显然,连接不同编码的字符串是不安全的,所以我现在不担心这个问题。
链接地址: http://www.djcxy.com/p/59335.html