博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
封装JS String对汉字编码进行相互转换处理
阅读量:5153 次
发布时间:2019-06-13

本文共 1588 字,大约阅读时间需要 5 分钟。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>无标题文档</title> 
</head> 
<script> 
String.prototype.ulength = function () {    
    var c, b = 0, l = this.length;    
    while(l) {    
        c = this.charCodeAt(--l);    
        b += (c < 128) ? 1 : ((c < 2048) ? 2 : ((c < 65536) ? 3 : 4));    
    };    
    return b;    
String.prototype.cnStringToAscii = function() {//汉字转换ascii 
    return escape(this).replace(/%u/g, '\&#x'); 
}; 
String.prototype.cnStringToUnicode = function() {//汉字转换unicode 
    return escape(this).replace(/%/g, '\\'); 
}; 
String.charCodeToCnString = function(charCodes, regexp) { 
    return charCodes.replace(regexp, function($0, $1, $2) { 
        return String.fromCharCode( 
            parseInt($2, 16)/*把16进制的字符串转换成int型数字*/ 
        ); 
    }); 
}; 
String.asciiToCnString = function(asciiChars) {//ascii转换成汉字 
    return String.charCodeToCnString(asciiChars, /(\&#x)(\w{4})/gi); 
}; 
String.unicodeToCnString = function(unicodeChars) {//unicode转换成汉字,高效的.. 
    return unicodeChars + '';//虽然它已经是String类型,但再这样转换成String类型,居然直接变汉字了。 
    //unicodeChars.split('\\u')[0];split也可以变成汉字,可以用任意'非中文字符'来split,如'\\','safdasf'等等。 
    //unicodeChars.split('').join('');//也是可以的,这样每个字都成为数组的一个元素,与上一句一样 
    //return String.charCodeToCnString(unicodeChars, /(\&#x)(\w{4})/gi); 这个效率最差 
}; 
</script> 
<body> 
<script> 
alert("冯瑶我爱你!".ulength()); 
alert("冯瑶我爱你!".cnStringToAscii()); 
alert("冯瑶我爱你!".cnStringToUnicode()); 
</script> 
</body> 
</html> 

转载于:https://www.cnblogs.com/zhuzhiyuan/archive/2012/01/29/2330852.html

你可能感兴趣的文章
植物大战僵尸中文年度版
查看>>
26、linux 几个C函数,nanosleep,lstat,unlink
查看>>
投标项目的脚本练习2
查看>>
201521123107 《Java程序设计》第9周学习总结
查看>>
runtime的基本应用
查看>>
关于scrollTop的那些事
查看>>
Caroline--chochukmo
查看>>
算法导论笔记 第8章 线性时间排序
查看>>
利用jquery的contains实现搜索功能
查看>>
Xcode 6.2 beta 3 太难下载!下载了,不敢独享
查看>>
并发编程
查看>>
Bootstrap
查看>>
C语言错误: HEAP CORRUPTION DETECTED
查看>>
【Java基础】Java类的加载和对象创建流程的详细分析
查看>>
2018-2019-1 20165231《信息安全系统设计基础》第二周学习总结
查看>>
iOS之文本属性Attributes的使用
查看>>
从.Net版本演变看String和StringBuilder性能之争
查看>>
Excel操作 Microsoft.Office.Interop.Excel.dll的使用
查看>>
XlFileFormat
查看>>
Windows消息机制(转)1
查看>>