在 php 中以字节为单位测量字符串大小
2022-08-30 09:05:14
我正在为门户做一个房地产提要,它告诉我字符串的最大长度应该是20,000字节(20kb),但我以前从未遇到过这种情况。
如何测量 .所以我可以做一个临时循环来修剪它。byte
varchar string
我正在为门户做一个房地产提要,它告诉我字符串的最大长度应该是20,000字节(20kb),但我以前从未遇到过这种情况。
如何测量 .所以我可以做一个临时循环来修剪它。byte
varchar string
您可以使用 mb_strlen() 来获取字节长度,使用只有字节字符的编码,而无需担心多字节或单字节字符串。例如,正如drake127在mb_strlen的评论中所说,您可以使用“8bit”编码:
<?php
$string = 'Cién cañones por banda';
echo mb_strlen($string, '8bit');
?>
使用strlen函数可能会遇到问题,因为php可以选择重载strlen以实际调用mb_strlen。在 http://php.net/manual/en/mbstring.overload.php 中查看有关它的更多信息
要按字节长度修剪字符串而不在多字节字符中间拆分,您可以使用:
mb_strcut(string $str, int $start [, int $length [, string $encoding ]] )
您必须确定字符串是 ascii 编码还是使用多字节格式编码。
在前一种情况下,您可以只使用 .strlen
在后一种情况下,您需要找到每个字符的字节数。
strlen文档给出了一个如何做到这一点的例子:http://www.php.net/manual/en/function.strlen.php#72274