我想知道下面这句话对我们这些傻瓜来说是什么意思?
什么是字节序列?一个字节有多少个字符?
iconv_strlen() 根据指定字符集统计给定字节序列 str 中字符出现的次数,其结果不一定与字符串的字节长度相同。
最佳答案
让我们以日语字符“こ”为例。假设采用 UTF-8 编码,这是一个 3 字节字符 (0xE3 0x81 0x93)。让我们看看当我们使用 strlen
时会发生什么:
$ php -r 'echo strlen("こ") . "\n";'
3
结果是 3,因为 strlen
正在计算字节数。但是,根据 UTF-8 编码,这只是单个字符。这就是 iconv_strlen
的用武之地。它知道在 UTF-8 中,这是单个字符,即使它由 3 个字节组成。因此,如果我们尝试这样做:
$ php -r 'echo iconv_strlen("こ", "UTF-8") . "\n";'
1
我们得到 1。这就是该解释的意思。
关于PHP iconv_strlen() 含义问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6086046/