| 
 | 
 
 本帖最后由 Johnson 于 2016-1-7 19:14 编辑  
 
在做微信应用开发(Web开发)的时候,经常会用到WebSocket方式与设备进行实时通讯,对于如下的枚举类型定义: 
Mode: 0.制冷, 1.抽湿, 2. 通风 
在发送控制指令时,可能会写成这样: 
{"cmd":"c2s_write","data":{"did":"itE6covvbAguLxmpua3ec5","attrs": {"Mode": "抽湿"}}} 
但这样是不工作的!因为没有以Unicode编码字符串如(\u62bd)。 
正确的写法是: 
{"cmd":"c2s_write","data":{"did":"itE6covvbAguLxmpua3ec5","attrs": {"Mode": "\u62bd\u6e7f"}}} 
 
对于Javascript可以使用以下两个函数进行Unicode编码和解码: 
 
encode: function encodeUTF8(str){      var temp = "",rs = "";      for(var i=0, len = str.length; i < len; i++)    {          temp = str.charCodeAt(i).toString(16);          rs  += "\\u"+ new Array(5-temp.length).join("0") + temp;      }      return rs;  }  decode: function decodeUTF8(str){      return str.replace(/(\\u)(\w{4}|\w{2})/gi, function($0,$1,$2){ return String.fromCharCode(parseInt($2,16)); });} 
 
 
 
 
 |   
 
 
 
 |