字符串长度(PHP学习)
1.计算字符串长度有哪些方法?
答:strlen() 和 mb_strlen()
2.两者有什么区别
答:
如下代码
<?php
$str = 'hello中国';
?>
strlen($str)计算的是字节的长度,在utf8下一个汉字代表3个字符,算出来是11 在GB2312和GBK下是2个字符,算出来是9
mb_strlen()计算的是字符长度 mb_strlen($str,[GBK|GB2312|utf8]) 这里"|"是或的意思,就是mb_strlen()的第二个参数是编码形式GBK或者GB2312或者utf8
要使用mb_strlen()方法要把php.ini里面的extension=php_mbstring.dll 这个取消禁用才行,不然调用不到这个方法
这里的mb是multiByte,多字节的意思
3.为什么英文字符是一个字节,中文字符有时是2个字节,有时是3个字节?
答:计算机最开始的时候是纯英文的,所有的字符不到128种变化因此用8位表示的话就是
0 000 0000 到 0 111 1111之间的变化
中文的变化更多 在GBK和GB2312模式下需要2个字节
UTF8下加入了更多的变化,所以要3个字节
字符串长度(PHP学习)的更多相关文章
- php截取中文字符串,英文字符串,中英文字符串长度的方法
今天学习了php函数截取中文字符串,英文字符串,中英文字符串的函数使用方法.对中英文截取方法不理解,此处先做记录. PHP自带的函数如strlen().mb_strlen()都是通过计算字符串所占字节 ...
- 玩转PHP(一)---php中处理汉字字符串长度:strlen和mb_strlen
注:本文为小编原创,如若转载,请注明出处:http://blog.csdn.net/u012116457/article/details/42536039 今天正式开始学习PHP了,不过小编一不小心就 ...
- javascript计算字符串长度
javascript计算字符串长度 学习了:https://blog.csdn.net/u012934325/article/details/75214847 function getByteLen( ...
- NET MVC全局异常处理(一) 【转载】网站遭遇DDoS攻击怎么办 使用 HttpRequester 更方便的发起 HTTP 请求 C#文件流。 Url的Base64编码以及解码 C#计算字符串长度,汉字算两个字符 2019周笔记(2.18-2.23) Mysql语句中当前时间不能直接使用C#中的Date.Now传输 Mysql中Count函数的正确使用
NET MVC全局异常处理(一) 目录 .NET MVC全局异常处理 IIS配置 静态错误页配置 .NET错误页配置 程序设置 全局异常配置 .NET MVC全局异常处理 一直知道有.NET有相关 ...
- Shell获取字符串长度的多种方法总结
摘自:https://www.jb51.net/article/121290.htm 前言 我们在日常工作中,对于求字符串操作在shell脚本中很常用,实现的方法有很多种,下面就来给大家归纳.汇总了求 ...
- [No0000A4]DOS命令(cmd)批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度
1.替换字符串,即将某一字符串中的特定字符或字符串替换为给定的字符串.举例说明其功能:========================================= @echo off set a ...
- iOS小知识:计算字符串长度(如果有表情,表情的长度为1)
在做项目的时候,textField能够输入表情,但是iOS的表情是占两个字符的,再计算字符串长度的时候就和想象的不一样了,所以用了次方法会将表情的长度转成1,最后得到的字符串的长度就是能看到的实际的长 ...
- JS判断字符串长度(中文长度为2,英文长度为1)
目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: String.prototype.gblen = function() { var len = 0; for (var i=0; ...
- JS判断字符串长度的5个方法
这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 代码如下: String.pr ...
随机推荐
- 出入Spring boot(六)数据访问
Spring Data提供了使用统一的API进行数据访问操作,这是Spring通过提供Spring DataCommons项目来实现的,它是Spring data的依赖Spring Data Comm ...
- 初入Spring-boot(二)
一.入口类 Spring boot通常有一个名为*Application的入口类,入口类里有一个main方法,这个main方法其实就是一个标准的java应用的入口方法.在main方法中使用Spring ...
- Oracle书籍资料链接——更新ing
oracle database 11g初学者指南(中文版).pdf https://pan.baidu.com/s/1mkl8JVU Oracle Database 11g完全参考手册.pdf htt ...
- spring cloud 基本小结
Spring cloud系列十四 分布式链路监控Spring Cloud Sleuth https://blog.csdn.net/hry2015/article/details/78905489 S ...
- 使用IDEA将代码托管到GitHub步骤和错误解决
一.下载并安装Git版本控制工具 下载地址:https://git-scm.com/downloads 注册GitHub账号:https://github.com/ 为什么托管到GitHub要下载Gi ...
- TF卡.之前的(20180923)
1.京东上搜到的(购买记录) ZC:64G的应该是 只买了一个 另一个取消了 2.TB上搜到的 购买记录是这样的(注意 也有 取消的) 3. 4. 5.
- 遍历jsonArray和jsonObject
遍历jsonArray String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'}]&q ...
- 51nod-1636-dp
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1636 1636 教育改革 题目来源: CodeForces 基准时间限制 ...
- docker 私有registry 配置
备注:此处使用linux镜像配置仓库 registry 启动步骤 https://hub.docker.com/_/registry/ docker login docker pull registr ...
- ElasticSearch6.0 Java API 使用 排序,分组 ,创建索引,添加索引数据,打分等(一)
ElasticSearch6.0 Java API 使用 排序,分组 ,创建索引,添加索引数据,打分等 如果此文章对你有帮助,请关注一下哦 1.1 搭建maven 工程 创建web工程 ...