扫码关注官方订阅号
网上百度了下,大多就是英文字母占一个字节,汉字占几个字节,然后加在一起计算,但是如果是特殊符号占几个字节,标点符号占几个字节,或者是有什么其他方法。前端小白一枚,求教各位了
闭关修行中......
这个跟计算机的数据结构,编码格式有关,一般说来,拿我们常用的来说,在gbk编码中,中文占2个字节,英文和数字占1个字节,你说的特殊字符,标点符号也是根据中英文区分的,也就是全角或者半角,在utf-8编码中,中文占3个字节,英文和数字还是1个字节.
gbk
utf-8
用nodejs可以用Buffer
> var str1 = "测试adc96" undefined > str1 '测试adc96' > new Buffer(str1) <Buffer e6 b5 8b e8 af 95 61 64 63 39 36> > var buf1 = new Buffer(str1) undefined > buf1.length 11 >
一个汉字三个字节目测UTF-8
浏览器:使用Blob
>var str1 = "测试adc96" undefined >var bl = new Blob([str1]) undefined >bl.size 11
获得字符串的大小:
unescape(encodeURIComponent(str)).length / 1024
"字符串".length 就是长度
如果你想判断中文英文,就判断ascii。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这个跟计算机的数据结构,编码格式有关,一般说来,拿我们常用的来说,在
gbk编码中,中文占2个字节,英文和数字占1个字节,你说的特殊字符,标点符号也是根据中英文区分的,也就是全角或者半角,在utf-8编码中,中文占3个字节,英文和数字还是1个字节.用nodejs可以用Buffer
一个汉字三个字节目测UTF-8
浏览器:使用Blob
获得字符串的大小:
"字符串".length 就是长度
如果你想判断中文英文,就判断ascii。