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个字节

转载于:https://www.cnblogs.com/ggbd-lie/p/3261073.html

字符串长度(PHP学习)相关推荐

  1. vb 字符串长度_学习VB编程第5天 基础知识需要一点点积累

    今天学习了刘金玉老师VB编程教程的第9期和第10期,学习的主要内容是string变量类型的运用和Boolean布尔变量类型. 一.string变量类型的运用 (一)string类型:字符串类型变量,用 ...

  2. Go 学习笔记(31)— 字符串 string、字符 rune、字节 byte、UTF-8 和 Unicode 区别以及获取字符串长度

    1. 字符串 string 类型 Go 语言中字符串的内部实现使用 UTF-8 编码,通过 rune 类型,可以方便地对每个 UTF-8 字符进行访问.当然, Go 语言也支持按照传统的 ASCII ...

  3. startindex 不能大于字符串长度_「12」学习MySQL第二类函数:字符串函数

    前一篇文章总结了下MySQL中常用的数学函数,本文接下来的重点就是认识"字符串函数". 上图这匹漂亮的马儿就是通过各种字符(字母.括号.逗号.竖线等)画出来的.我不由自主地会去想下 ...

  4. 学习-Java字符串之String类常用方法之字符串长度

    任务描述 本关任务:接收输入值(字符串),将该字符串反转输出,例如接收字符串"abc",输出"cba". 相关知识 为了完成本关任务,你需要掌握:字符串常用方法 ...

  5. C | C语言学习(三)输入数据、输出数据、类型转换、数组、char数组和字符串、字符串长度

    一.从标准输入设备读取数据 (# include <stdio.h>) 1. 读取数据(通用):scanf通过%转义的方式可以得到用户通过标准输入设备输入的数据. int num1, nu ...

  6. 【C语言】模拟实现库函数 strcpy(复制字符串内容) 与 strlen(求字符串长度)

    前言:对于库函数的使用,我们不仅要会使用方法,更要知晓使用原理,而知晓使用原理最好的方法就是模拟相应库函数的使用. 今天我们就来模拟 strcpy(复制字符串内容) 与 strlen(求字符串长度)这 ...

  7. python获取输入框内容长度_python3 tkinter 获取输入字符串长度

    python 3  获取输入字符长度 #-*- coding:utf-8 -*- from tkinter import * from tkinter import messagebox def ge ...

  8. java 字符长度 中文_java判断中文字符串长度的简单实例

    话不多说,上代码: /** * 获取字符串的长度,如果有中文,则每个中文字符计为2位 * @param value 指定的字符串 * @return 字符串的长度 */ public static i ...

  9. php获取汉字的长度,php中处理汉字字符串长度:strlen和mb_strlen

    PHP内置的字符串长度函数strlen()无法正确处理中文字符串,它得到的只是字符串所占的字节数.对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍 ...

最新文章

  1. Linux Socket学习(十三)
  2. c# 因其保护级别而不可访问。只能处理公共类型。
  3. OpenCV图像处理——iOS端人脸检测
  4. 在SQL Navigator 中做 oracle pl/sql SQL分析
  5. TCP协议面试灵魂10问 | 强势整理
  6. 这是不是帮女朋友拍照时的你?哈哈哈哈
  7. CentOS7 1.搭建环境脚本
  8. LeetCode 1110. 删点成林(二叉树递归)
  9. 给 ListBox 的 DataTemplate 模板中的 元素设置动画
  10. WPS重复数据高亮显示
  11. 【扩频通信】基于matlab GUI扩频通信系统仿真【含Matlab源码 772期】
  12. 中国十佳IT外包企业排行榜
  13. keil4模块化编程
  14. 华氏温度转摄氏温度c语言作业,c语言摄氏度与华氏温度如何转换
  15. Maven学习(九)Maven项目SpringCloud微服务工程构建(基于单一案例的逻辑)
  16. 优思学院|什么是TPM管理?
  17. 【2022 ACTF-wp】
  18. 计算机中系统更新是指,Mac电脑操作系统更新了什么功能
  19. App流量变现并不一定损害用户体验,这些方法你得了解
  20. 线性代数(十六) : 矩阵的左零空间及四个基本子空间总结

热门文章

  1. [react] 请说说什么是useState?为什么要使用useState?
  2. 重学java基础第一课:解决大家的疑问
  3. 前端学习(3014):vue+element今日头条管理--自定义验证
  4. 前端学习(2923):vue中的计算属性
  5. 工作296:el-table使用
  6. 前端学习(2824):数据绑定前的代码编辑器技巧
  7. 前端学习(2736):重读vue电商网站46之执行build 时报错
  8. 前端学习(2432):上午总结
  9. 工作总结4:拦截器的使用
  10. 前端学习(1996)vue之电商管理系统电商系统之美化步骤条