当前位置: 首页 > news >正文

js中的字符串的length的知识点。

unicode字符集

unicode字符集是对世界上绝大部分字符进行编码,一个字符对应一个编码,范围:0x0000-0x10FFFF,可以表示一百多万个字符,其中0x0000-0xFFFF的字符为BMP(基本多语言平面字符集),剩余的字符集为补充字符集包括了(许多常见的emoji字符位于此)。

utf-8,utf-16,uft-32编码方式

这些是对unicode字符集中的字符进行存储传输的编码方式,对于一个unicode码的二进制值,编码方式会以不同的规则将unicode码映射成1~4字节的值。其中
utf-8:会将unicode码以6位为界切割,编码后的值在1-4字节。
utf-16:0x0000-0xFFFFunicode字符不用编码,直接存储,大于这个范围的用一个代理对(2个16位,即2个码元)表示,编码后的值为2或4字节
utf-32: 直接用32位4个字节来存储unicode值,不需要编码。

utf-24不实用,计算机不好处理,性能差,而且节省的空间也不多,所以不编码的方式就用utf-32

JS中的字符串存储方式

js中存储字符的编码方式用的是UTF-16,因此string.length这里的长度指的是16位码元的长度,比如长度是2,说明这个值存储占用了2个码元,2*16=32位,4个字节。

字符串的其他方法:

  • string.length,字符串有多少个码元。
  • string.charAt(),第n个码元的unicode的字符。
  • string.charCodeAt(n),第n个码元的unicode的值,十进制
  • string.charPointAt(n),第n个码点的unicode的值,十进制,字符中如果有补充字符集(超过0xFFFF)的字符,需要用这个来获取对于位置的字符。
    当字符中的字符的unicode值在0x0000-0xFFFF时,码点的值就是码元的值,上面的方法都没有差别。大于0xFFFF的unicode字符,如emoji表情,码点的值就不是码元的值了,要注意区别,如下图的emoji表情的length是2.

在这里插入图片描述
在这里插入图片描述


http://www.mrgr.cn/news/6009.html

相关文章:

  • 008 三级分类
  • 坐标大连!提交EI、Scopus、知网检索!第五届经济管理与大数据应用国际学术会议(ICEMBDA 2024)
  • 网络工程3(子网通信,为什么要使用mac和ip)
  • 机械学习—零基础学习日志(如何理解概率论5)
  • 3-4 STM32F405--定时器输入捕获
  • 25考研计算机组成原理复习·3.5高速缓冲存储器
  • 二叉树的统一迭代法
  • Docker续1:
  • 正交试验法(或PICT)来设计测试用例
  • 点餐系统实战开发教程01需求分析
  • 【IEEE出版 | 往届会后三个月检索】第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024)
  • CSS 对齐
  • 数据库系统之数据库设计
  • [Qt][QSS][上]详细讲解
  • python-货物种类(赛氪OJ)
  • 网络安全 day1 --- IIS服务器搭建、常规web搭建、zblog文件夹权限、站库分离
  • 软件工程概述(上)
  • 软件测试 缺陷报告处理流程
  • 华为数通路由交换HCIP/HCNP
  • 只出现一次的数字2