JavaScript中解决乱码的通用方法

本文提供了一种用于HTML编码和解码中文字符的方法。通过正则表达式匹配中文字符,并将其转换为HTML实体形式,实现对中文字符串的安全显示;同时提供了对应的解码方法,以便还原已编码的字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

详情请见:

http://blog.youkuaiyun.com/jxpath/archive/2008/05/10/2430897.aspx

http://code.google.com/p/json-rpc-for-java/

继《JavaScript高级应用与实践》之后推出的开源代码:
http://blog.youkuaiyun.com/jxpath
http://blog.sina.com.cn/jcore
http://m9m.3322.org

工程svn下载地址:
http://json-rpc-for-java.googlecode.com/svn/trunk/

  1. /***
  2. *编码码字符串为html方式编码的中文汉字,例如将:
  3. *"异常"编码为"异常"
  4. *符合的汉字正则表达式范围是:[\u4E00-\u9FA5]
  5. *@paramszStr
  6. *@return
  7. */
  8. publicStringencodeUnicodeHtm(StringszStr)
  9. {
  10. Patternp=Pattern.compile("[\u4E00-\u9FA5]",Pattern.MULTILINE);
  11. Matcherm=p.matcher(szStr);
  12. StringBufferbuf=newStringBuffer();
  13. while(m.find())
  14. m.appendReplacement(buf,"&#"+(int)m.group(0).toCharArray()[0]+";");
  15. m.appendTail(buf);
  16. returnbuf.toString();
  17. }
  18. /***
  19. *解码html方式编码的中文汉字
  20. *,例如将:
  21. *"异常"解码为"异常"
  22. *符合的汉字正则表达式范围是:[\u4E00-\u9FA5]
  23. *@paramszStr
  24. *@return
  25. */
  26. publicStringdecodeUnicodeHtm(StringszStr)
  27. {
  28. Patternp=Pattern.compile("&#(\\d+);",Pattern.MULTILINE);
  29. Matcherm=p.matcher(szStr);
  30. StringBufferbuf=newStringBuffer();
  31. while(m.find())
  32. m.appendReplacement(buf,(char)Integer.valueOf(m.group(1)).intValue()+"");
  33. m.appendTail(buf);
  34. returnbuf.toString();
  35. }


javascript中的编码:

  1. data=data.replace(/[\u4E00-\u9FA5]/gm,function()
  2. {
  3. return"&#"+arguments[0].charCodeAt(0)+";";
  4. })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值