<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          js之漢字與Unicode碼的相互轉化

          時間:?2017-11-16閱讀:?1020標簽:?

          有時候,我們在給后端傳遞變量的的值中有漢字,可能由于編碼的原因,傳遞到后端后變為亂碼了。所以有時候為了省事或者其它特殊要求的時候,會把傳遞的漢字轉換成Unicode編碼后再進行傳遞。

          當然漢字轉換成unicode編碼,使用JS的charCodeAt()方法就可以。

          '好'.charCodeAt(0).toString(16)
          "597d"

          這段代碼的意思是,把字符'好'轉化成Unicode編碼,toString()就是把字符轉化成16進制了

          用法:charCodeAt() 方法可返回指定位置的字符的 Unicode 編碼。這個返回值是 0 - 65535 之間的整數
          語法:stringObject.charCodeAt(index)
          index參數必填,表示字符串中某個位置的數字,即字符在字符串中的下標。
          注:字符串中第一個字符的下標是 0。如果 index 是負數,或大于等于字符串的長度,則 charCodeAt() 返回 NaN。
          例如:

          var str="Hello world!"
          document.write(str.charCodeAt(1))
          //結果:101
          '好哦'.charCodeAt(0).toString(16)
          "597d"
          '好哦'.charCodeAt(1).toString(16)
          "54e6"

          要是想把unicode解碼成字符呢?

          要想對Unicode解碼的話,必須要用轉義字符'\u'

          '\u54e6'
          "哦"

          總結下:

          js unicode是以十六進制代碼外加開頭\u表示的字符串。即\unnnn

          Unicode 是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一并且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。1990年開始研發,1994年正式公布。

          下面先看一個簡單的例子,漢字轉化為unicode方法:

          function toUnicodeFun(data){
            if(data == '' || typeof data == 'undefined') return '請輸入漢字';
             var str =''; 
             for(var i=0;i<data.length;i++){
                str+="\\u"+data.charCodeAt(i).toString(16);
             }
             return str;
          }
          
          var resultUnicode = toUnicodeFun('中國'); // \u4e2d\u56fd
          console.log(resultUnicode);

          unicode轉化為漢字的方法:

          function toChineseWords(data){
              if(data == '' || typeof data == 'undefined') return '請輸入十六進制unicode';
              data = data.split("\\u");
              var str ='';
              for(var i=0;i<data.length;i++){
                  str+=String.fromCharCode(parseInt(data[i],16).toString(10));
              }
              return str;
          }
          
          var resultChineseWords = toChineseWords("\u4e2d\u56fd"); 
          console.log(resultChineseWords);//中國

          在網上找到另外一個實現方式:

          var GB2312UnicodeConverter={
              ToUnicode:function(str){
                 return escape(str).toLocaleLowerCase().replace(/%u/gi,'\\u');
              },
              ToGB2312:function(str){
                 return unescape(str.replace(/\\u/gi,'%u'));
              }
          };
          var result = GB2312UnicodeConverter.ToUnicode('中國'); //\u4e2d\u56fd
          var result2 = GB2312UnicodeConverter.ToUnicode(result); //%5cu4e2d%5cu56fd

          下面實現漢字轉Unicode碼:

          function toUnicode(s){ 
              return s.replace(/([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g,function(newStr){
                  return "\\u" + newStr.charCodeAt(0).toString(16); 
              }); 
          } 
          


          作者來源:風雨后見彩虹 


          站長推薦

          1.阿里云: 本站目前使用的是阿里云主機,安全/可靠/穩定。點擊領取2000元代金券、了解最新阿里云產品的各種優惠活動點擊進入

          2.騰訊云: 提供云服務器、云數據庫、云存儲、視頻與CDN、域名等服務。騰訊云各類產品的最新活動,優惠券領取點擊進入

          3.廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入

          鏈接: http://www.modern-decoration.com.cn/article/detial/118

          HTML頁面亂碼怎么解決?

          HTML文件亂碼一般是因為編碼格式不匹配造成的,比如:不同編碼內容混雜、瀏覽器不能自動檢測網頁編碼等等;但無論是哪種情況造成亂碼,在HTML文件頭中設置網頁編碼,匹配好編碼格式就可。

          ?編碼的未來是“無碼”?

          化繁為簡,幾乎每個行業都在追求這樣一個目標。編碼的未來是無碼,IT界的人士曾這樣表述。不僅能讓程序員更加容易地添加復雜功能,還能使公共代碼無法破譯。

          nodejs怎么設置編碼格式

          很多小伙伴在使用nodejs時候會出現亂碼情況,怎么設置編格式呢?方法一:使用res.write()設置<meta>標簽,方法二:使用res.setHeader()設置Content-type,方法三:使用res.writeHeader()設置Content-type

          gbk是什么意思?

          GBK全稱《漢字內碼擴展規范》,是對GB2312編碼的擴展,因此完全兼容GB2312-80標準。GBK共收錄21886個漢字和圖形符號,其中漢字(包括部首和構件)21003個,圖形符號883個。

          一文讀懂原碼、反碼與補碼

          二進制和十進制一樣,也是一種進位計數制,但是它的基數是 2。二進制表達式中 0 和 1 的位置不同,它所代表的數值也不同。例如,二進制數 0000 1010 表示十進制數 10。 一個二進制數具有兩個基本特點

          頁面制作中要注意的編碼問題

          不知道大家在做頁面的時候會不會遇到樣式定義不生效的問題,基本的表現就是怎么改樣式都沒顯示或只有某些瀏覽器正常,這時通常需要做下面的幾步:

          Js ajax狀態碼

          hr.readyState==4(ajax運行正常),xhr.status==200(后臺運行正常),xhr.status==5xx(后臺運行異常 聯系后臺代碼人員);HTTP 狀態碼 ajax.status

          字符編碼-ASCII,Unicode 和 UTF-8

          我們知道,計算機內部,所有信息最終都是一個二進制值。每一個二進制位(bit)有0和1兩種狀態,因此八個二進制位就可以組合出256種狀態,這被稱為一個字節(byte)。也就是說,一個字節一共可以用來表示256種不同

          Http狀態碼整理

          1開頭-臨時響應:100 (繼續) 請求者應當繼續提出請求。服務器返回此代碼表示已收到請求的第一部分,正在等待其余部分。 101 (切換協議) 請求者已要求服務器切換協議,服務器已確認并準備切換。

          CSS 中文字體 Unicode 編碼表

          在 CSS 中設置字體名稱,直接寫中文是可以的。但是在文件編碼(GB2312、UTF-8 等)不匹配時會產生亂碼的錯誤。為此,在 CSS 直接使用 Unicode 編碼來寫字體名稱可以避免這些錯誤。使用 Unicode 寫中文字體名稱,瀏覽器是可以正確的解析的。

          內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權或違規,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全運營推廣

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网