文档章节

php计算字节数(含中文)

摇滚哈哈狗
 摇滚哈哈狗
发布于 2014/11/18 15:04
字数 159
阅读 52
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

代码

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**作用:统计字符长度包括中文、英文、数字
     * 参数:需要进行统计的字符串、编码格式目前系统统一使用UTF-8
     * 时间:2009-07-15
     * 修改记录:
             $str = "kds";
            echo sstrlen($str,'utf-8');
     * */
     function sstrlen($str,$charset) {        
        $n = 0; $p = 0; $c = '';
        $len = strlen($str);
        if($charset == 'utf-8') {
            for($i = 0; $i < $len; $i++) {
                $c = ord($str{$i});
                if($c > 252) {
                    $p = 5;
                } elseif($c > 248) {
                    $p = 4;
                } elseif($c > 240) {
                    $p = 3;
                } elseif($c > 224) {
                    $p = 2;
                } elseif($c > 192) {
                    $p = 1;
                } else {
                    $p = 0;
                }
                $i+=$p;$n++;
            }
        } else {
            for($i = 0; $i < $len; $i++) {
                $c = ord($str{$i});
                if($c > 127) {
                    $p = 1;
                } else {
                    $p = 0;
            }
                $i+=$p;$n++;
            }
        }        
        return $n;
    }


本文转载自网络

上一篇: mysql 查询篇
摇滚哈哈狗
粉丝 15
博文 226
码字总数 28445
作品 0
深圳
程序员
私信 提问
加载中

评论(0)

字符编码史:请问utf-8的中文是一个汉字占三个字节长度吗? 转载

这是个好问题,可以当作一个笔试题。先从字符编码讲起。 1、美国人首先对其英文字符进行了编码,也就是最早的ascii码,用一个字节的低7位来表示英文的128个字符,高1位统一为0; 2、后来欧洲...

osc_ayf3s08t
2019/02/12
2
0
strlen和mb_strlen的区别

在php中常见的计算字符串长度的函数有:strlen和mb_strlen.当字符全是英文字符的时候,两者是一样。这里主要比较一下,中英文混排的时候,两个计算结果。 AD:2013云计算架构师峰会超低价抢票...

lg2045
2013/08/27
110
0
strlen和mb_strlen的区别

在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别。 下面通过例子,讲解这两者之间的区别。 先看例子: <?php //测试时文件...

freedonn
2014/11/07
199
0
PHP中strlen和mb_strlen的区别

在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别。 下面通过例子,讲解这两者之间的区别。 先看例子: <?php //测试时文件...

五味格子
2011/05/19
39
0
php 使用反序列化函数 serialize 是返回 false 的一个可能原因

今晚在使用反序列化函数是一直返回 false,不知所以,还以为是 '<' 标签的缘故,结果一百度,说可能是长度没对上,结果我一数,果然是,更正后,测试反序列化函数就返回成功的结果了。下面记...

limitlessness
03/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

认知智能类脑模型之理解技术体系简介道翰天琼

理解层在类脑模型认知层的下层,在学习层的上层。学习和理解本身也 是一体。学习本身包含了理解。这里的理解主要是机器学习之后的深度理解。理解层的核心包含三大部分符号,语言和图像的深度...

jackli2020
47分钟前
17
0
org.json的使用详解

jar下载 基于maven工程的pom文件配置: <!-- https://mvnrepository.com/artifact/org.json/json --><dependency><groupId>org.json</groupId><artifactId>json</artifactId>......

独钓渔
48分钟前
25
0
webpack.04-entry points

https://www.webpackjs.com/concepts/entry-points/ cnpm init -y cnpm i -D webpack webpack-cli 配置文件webpack.config.js module.exports={ mode:'development',//production 生产环......

_qq507570355
56分钟前
16
0
Oracle中如何实现分页+排序? 其中遇到的问题,你,注意了嘛???

分页 + 排序 一.简单分页: 需求:分页查询台账表T_ACCOUNT,每页10条记录 分析:我们在ORACLE进行分页查询,需要用到伪列ROWNUM和嵌套查询 我们首先显示前10条记录,语句如下: select rownu...

煌sir
今天
148
0
使用JavaScript获取当前URL? - Get the current URL with JavaScript?

问题: All I want is to get the website URL. 我想要的只是获取网站URL。 Not the URL as taken from a link. 不是从链接获取的URL。 On the page loading I need to be able to grab the ......

技术盛宴
今天
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部