Php 为什么有人想用strlen而不是mbu strlen
有一些遗留代码,我应该将其从Php 为什么有人想用strlen而不是mbu strlen,php,utf-8,Php,Utf 8,有一些遗留代码,我应该将其从iso-8859-2转换为UTF-8。其中一个问题是strlen函数的广泛使用。我首先想到的是,我将把所有出现的strlen替换为mb_strlen 然而,我的一位同事说,这将是一个错误。我知道这两个函数之间的区别——如果字符串中有重音字符,strlen将返回实际占用的字节数,而mb_strlen将返回字符数 现在,一位同事说,可能,只是可能在某个地方有一种情况,返回值应该是字符串中的字节数,但他不能给我任何这种情况的例子 在整个代码中,大约有900个strlen事件
iso-8859-2
转换为UTF-8
。其中一个问题是strlen函数的广泛使用。我首先想到的是,我将把所有出现的strlen
替换为mb_strlen
然而,我的一位同事说,这将是一个错误。我知道这两个函数之间的区别——如果字符串中有重音字符,strlen
将返回实际占用的字节数,而mb_strlen
将返回字符数
现在,一位同事说,可能,只是可能在某个地方有一种情况,返回值应该是字符串中的字节数,但他不能给我任何这种情况的例子
在整个代码中,大约有900个strlen事件,分析每个事件需要几天的时间
问题是-当某人需要字符串中的字节数而不是字符数时,可能出现的情况是什么
- 将字符串存储在文件或数据库中
- 将字符串写入套接字以通过网络发送
- 调用需要长度(以字节为单位)的旧API或COM方法