JS计算UTF8字符串占用字节数(escape版与UTF8专用版)
来源:互联网 发布:如何改变自己 知乎 编辑:程序博客网 时间:2024/04/30 11:30
使用escape是为了使所有编码都转换成统一的编码格式(Unicode), 如GBK编码的"中国", 与UTF8编码的"中国",它们的escape返回值都是一样的,所以代码具有通用性,且escape在JS1.0已经有了,各浏览器都通用
如果不考虑通用性,且html为UTF8编码的,可以用UTF8版本
utf8_strlen2是escape版,utf8_strlen是utf8专用版
<!DOCTYPE html><html><head><meta charset="UTF-8"><script type="text/javascript" src="../../jquery.min.js"></script><script type="text/javascript" src="../../jquery.easyui.min.js"></script> <script type="text/javascript"> function testGetCharBytes() { alert(utf8_strlen($("#username").val())); } function utf8_strlen2(str) {var cnt = 0;for( i=0; i<str.length; i++){var value = str.charCodeAt(i);if( value < 0x080){cnt += 1;}else if( value < 0x0800){cnt += 2;}else {cnt += 3;}}return cnt; } function utf8_strlen(str) {var str_encode = escape(str);var cnt = 0;for( i=0; i<str_encode.length; i++){if( str_encode.charAt(i) == "%"){if( str_encode.charAt(i+1) == "u" ){var value = parseInt(str_encode.substr(i+2,4),16);if( value < 0x0800){cnt += 2;}else{cnt += 3;}i = i+5;}else{cnt++;i = i+2;}}else{cnt++;}} return cnt; }</script></head><body><input type="text" name="username" id="username"></input><br/> <input type="button" value="测试" onclick="testGetCharBytes();"></input></body></html>
0 0
- JS计算UTF8字符串占用字节数(escape版与UTF8专用版)
- JS计算UTF8字符串占用字节数(escape版与UTF8专用版)
- 计算utf8下的字节数
- 计算字符串占用字节数
- 用JavaScript计算字符串占用字节数
- 汉字UTF8编码占用几个字节
- js 计算字符串字节数
- js 计算 字符串 字节数
- utf8字节
- js计算字符串长度,其中中文是utf8格式的
- UTF8 与 UTF8 +BOM
- string与utf8字符串转换
- js gbk与UTF8 转换
- js 计算字符串的字节数
- JS计算字符串所占字节数
- JS计算字符串所占字节数
- JS计算字符串的字节数
- JS计算字符串所占字节数
- 内核缓冲区应用
- Learning OpenCV 2-3 视频播放控制
- 2014网络红人排行榜
- websocket
- 使用Cordova 3.0(及以上版本) 创建安卓项目
- JS计算UTF8字符串占用字节数(escape版与UTF8专用版)
- Segmentation and Checksum Offloading: Turning Off with ethtool
- [C#基础知识系列]专题十二:迭代器
- 内存泄漏的介绍
- 在Android中包含四个与JSON相关的类和一个Exceptions
- warning no newline at the end of file
- 创建根文件系统
- 通用makefile是如何炼成的(I)
- 算法导论第六章堆排序相关代码