php语言开发,utf编码,给出一段字符串,如何计算字节数?

时间:2022-06-01 21:08:41
如题,$str="重若阿斯顿附近阿隆索的发送啊是的法律阿斯,啊但是法律的";
页面用utf-8编码,如何获得这段字符串所占的字节数(kb)?

6 个解决方案

#1


strlen($str);

#2


strlen($str)获得的是字符串的长度啊?

#3


function utf8_strlen($str)
    {
    $count = 0;

    for($i = 0; $i < strlen($str); $i++)
        {
        $value = ord($str[$i]);
        if($value > 127)
            {
            if($value >= 192 && $value <= 223)
                $i++;
            elseif($value >= 224 && $value <= 239)
                $i = $i + 2;
            elseif($value >= 240 && $value <= 247)
                $i = $i + 3;
            else
                die('Not a UTF-8 compatible string');
            }
       
        $count++;
        }
   
    return $count;
    }

#4



int mb_strlen ( string $str [, string $encoding ] )

http://docs.php.net/manual/zh/function.mb-strlen.php

#5


引用 2 楼 shrimpma 的回复:
strlen($str)获得的是字符串的长度啊?


字节数,没错啊

统计字符数,用 mb_strlen

#6


对 strlen

#1


strlen($str);

#2


strlen($str)获得的是字符串的长度啊?

#3


function utf8_strlen($str)
    {
    $count = 0;

    for($i = 0; $i < strlen($str); $i++)
        {
        $value = ord($str[$i]);
        if($value > 127)
            {
            if($value >= 192 && $value <= 223)
                $i++;
            elseif($value >= 224 && $value <= 239)
                $i = $i + 2;
            elseif($value >= 240 && $value <= 247)
                $i = $i + 3;
            else
                die('Not a UTF-8 compatible string');
            }
       
        $count++;
        }
   
    return $count;
    }

#4



int mb_strlen ( string $str [, string $encoding ] )

http://docs.php.net/manual/zh/function.mb-strlen.php

#5


引用 2 楼 shrimpma 的回复:
strlen($str)获得的是字符串的长度啊?


字节数,没错啊

统计字符数,用 mb_strlen

#6


对 strlen