编码说明

js使用Unicode编码,最多时候是:UTF-8 和 UTF-16两种。

(1)UTF-8 是一种针对Unicode的可变长度字符编码,可以表示Unicode标准中的任何字符,且其编码中的第一个字节仍与ASCII相容,使用一至四个字节为每个字符编码。

字符代码在:

  • 000000 – 00007F之间的,用一个字节编码;
  • 000080 – 0007FF之间的字符用两个字节;
  • 000800 – 00D7FF 和 00E000 – 00FFFF之间的用三个字节,注: Unicode在范围 D800-DFFF 中不存在任何字符;
  • 010000 – 10FFFF之间的用4个字节。

(2)UTF-16 则是定长的字符编码,大部分字符使用两个字节编码,字符代码超出 65535 的使用四个字节,如下:

  • 000000 – 00FFFF 两个字节;
  • 010000 – 10FFFF 四个字节。

js方法

    function strSize(str, charset) {let total = 0;charset = charset?.toLowerCase() || '';for (i = 0; i < str.length; i++) {let charCode = str.charCodeAt(i);if (charset === 'utf-16' || charset === 'utf16') {total += charCode <= 0xffff ? 2 : 4;} else {if (charCode <= 0x007f) {total += 1;} else if (charCode <= 0x07ff) {total += 2;} else if (charCode <= 0xffff) {total += 3;} else {total += 4;}}}return total;}

JS计算字符串所占字节数占用储存大小相关推荐

  1. c语言中大写英文字母所占字节,Java中字符编码和字符串所占字节数 .

    首 先,java中的一个char是2个字节.java采用unicode,2个字节来表示一个字符,这点与C语言中不同,C语言中采用ASCII,在大多数 系统中,一个char通常占1个字节,但是在0~12 ...

  2. c语言字符数组所占字节数,字符串所占字节数分析

    string与strlen 字符串赋值的时候会不会在末尾自动添加'\0'? char *s="\ta\017bc"中指针变量s 指向的字符串所占字节数是6的原因. '\t' 是一个 ...

  3. 结构体所占字节数的计算

    结构体所占字节数遵循以下原则: 1. 结构体的大小等于结构体内最大成员大小的整数倍 2. 结构体内的成员的首地址相对于结构体首地址的偏移量是其类型大小的整数倍,比如说double型成员相对于结构体的首 ...

  4. C语言经典实例:1-10例:三角求和、显示所占字节数、自增自减运算while语句输出最小值、计算快递费用、学生成绩统计

    文章目录 C语言经典实例:1-10例:三角求和.显示所占字节数.自增自减运算while语句输出最小值.计算快递费用.学生成绩统计等 1.程序的编写工具 2.项目的创建 3.C语言经典实例1-10编写的 ...

  5. Java中的UTF-8、UTF-16编码字符所占字节数

    前言:上一篇文章写了关于Unicode,以及utf-8.utf-16相关知识.所以本篇博文来验证在java环境下,字符在不同编码下所占的字计数. 测试代码如下: package string;publ ...

  6. Java截取字符串的指定字节数长度

    由于Java字符串的length计算的是字符长度,而数据库的限制长度是字节数,为了防止报错,可以在Java程序中截取字符串的指定字节数长度 public static String getLenStr ...

  7. C语言各数据类型所占字节数和取值范围

    C语言中各数据类型所占字节数和取值范围 注:每种数据类型的取值范围都是与编译器相关的,以下为数据Visual C++32位环境下的参数,如想清楚了解自己所用编译器对各数据类型所占字节,可以用sizeo ...

  8. 用sizeof函数对变量数据所占字节数进行测量

    /*文件名:test.c *完成日期:2016.3.28 * *目的:使用sizeof函数对各种类型的变量所占的字节数进行测量 */ #include <stdio.h> #include ...

  9. c语言结构体struct所占字节数求解

    原本觉的c语言学的还不错,今天看了一下c语言的有关书籍,看到求结构体大小的例子,心想这不是很简单吗,不就是把所有成员的大小加起来就行了,其实远没我想的简单,看来c语言还要继续学习哈哈. 先看一个实例 ...

最新文章

  1. [转]QT中QString与string的转化,解决中文乱码问题
  2. CF1406D:Three Sequences(贪心、构造)
  3. qtableview点击行将整行数据传过去_可以实时获取数据的Database Asset插件
  4. Vscode 在 Linux 上配置远程开发
  5. 学透 LinkedList 底层实现原理,狂虐面试官!
  6. 1)vmware station 14下安装linux系统
  7. python微信集成_python+微信+腾讯智能闲聊
  8. 如何在 Linux 中复制文件到多个目录中
  9. php接收表单post数据由于数据字段太多导致丢失的案例
  10. 网站开发用什么语言好_兰州网站开发哪家策划效果好
  11. STM32使用HAL库驱动W5500
  12. 网络篇 路由器的密码破解10
  13. 华为mate40e怎样截长图步骤分享
  14. 大白话图解:什么是 CDN
  15. c++三大函数:拷贝构造(copy ctor)、拷贝赋值(copy op)、析构函数(dtor)
  16. 机器学习/深度学习资源下载合集(持续更新...)
  17. arbexpress使用教程_信号发生器使用说明
  18. ubuntukylin和ubuntu有什么区别
  19. geoserver 发布 矢量切片(pbf)并用openlayers 6.14 /leaflet 1.8 加载展示 (一)(小白必备:超详细教程)
  20. firefox 绿色护眼

热门文章

  1. Excel 常用数字函数
  2. 证明:高斯白噪声的正交变换仍然是高斯白噪声
  3. 不知道如何选择可视化图形?9大类别数据图表教你使用最佳表达图形
  4. lua中的闭包(closure或者匿名函数)的作用
  5. log4j和log4j2怎么动态加载配置文件
  6. node.js目录结构
  7. 数学笔记21——三角替换2(tan和sec)
  8. Android_TUTK推送需要的相关资料
  9. java爬虫框架哪个好_java爬虫框架的使用
  10. denoiser插件_最新版红巨人调色降噪插件合集 Magic Bullet Suite 13.0.9 Win/Mac