安全地连接多字节字符串

时间:2017-02-17 11:03:14

标签: php string multibyte

我越来越关注确保PHP应用程序是多字节安全的,这主要涉及用等效的mb_ *函数替换字符串操作函数。

然而字符串连接让我停下来思考。

某些字符编码(例如UTF-16 unicode)可以在开头包含字节顺序标记。如果你连接了两个UTF16字符串,那么你可以在一个非开头的位置将结果字符串引入到结果字符串中。我怀疑还有其他编码也可以包括" header"将两个相同编码的字符串拼接在一起的信息也是有问题的。在进行多字节字符串连接时,PHP是否足够智能以丢弃BOM等?我怀疑不是因为PHP传统上只将字符串视为字节序列。是否有多字节安全等效于连接?我在mbstring文档中找不到任何内容。

显然连接不同编码的字符串永远不会安全,所以我现在不用担心。

0 个答案:

没有答案