国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

javaScript中的Unicode

馬忠志 / 3050人閱讀

摘要:編碼編碼只能編碼個字符,而中國漢子就有,這樣顯然不夠的,然后中國推出編碼,用了兩個字節來編碼。中國編碼用了,那其他國家呢于是為了統一,推出了編碼。編碼都是不涉及計算機存儲,傳輸的。避免上述情況的出現。對于補充平面的字符。

javaScript中的Unicode
踩坑 在做某個業務的時候,后端童鞋給到的某個字段的值大概都長這樣 javascript " #u0008u0005u0012u001fu0012u001du0005星球大戰u0006:原力覺醒 u000fu0008u0006u0012u000bu0012 張學友 u0008u0003u0012u0006u0012u0004Dior u0012u0008u0007u0012u000eu0012u000c英雄聯盟" 對于這樣的數據,我是拒絕的。對于這些 unicode,怎么解析呢?它到底是什么?
什么是編碼

其實編碼原理很簡單,在計算中并非直接存儲字符(英文、中文等),而是存儲這些字符對應的一個數字,這些字符在網絡傳輸的時候,也是傳輸字符對應的數字,編碼就是將字符轉化成相應的數字。

ASCII

大學C語言入門課程最先學習的知識,它用了一個字節的7位表示一個字符,比如字符A的ASCII碼是65。ASCII碼只用了7個bit編碼,注定能編碼的字符很少,只有128個。

Unicode編碼

ASCII編碼只能編碼128個字符,而中國漢子就有6000 +,這樣顯然不夠的,然后中國推出GBK 編碼,用了兩個字節來編碼。中國編碼用了GBK,那其他國家呢?于是為了統一,推出了Unicode編碼。在1991年推出了UCS統一編碼,實際應用的是USC-2,用了2個字節來編碼,能編碼65536個字符。JavsScript中的編碼就是用的這個編碼方式。

編碼都是不涉及計算機存儲,傳輸的。但是在遇到兩個字節編碼的字符的時候,有個系統是大端順序讀取,Windows就是這樣,而Mac上是按照小端順序讀取。如果沒有個轉化格式,那么就亂了,此時UTF(Unicode Transformation Format,簡稱為UTF)就產生了。因此,UTF-16使用了大端序(Big-Endian,簡寫為UTF-16 BE)、小端序(Little-Endian,簡寫為UTF-16 LE)以及BOM(byte order mark)的概念。避免上述情況的出現。

JavaScript中的編碼

JavaScript剛創建出來的時候,只有USC-2編碼方式可選,所以就一只用了這個編碼方式。上文也提到USC-2一開始使用了兩個字節來編碼,能夠編碼65536個字符,從0x0 - 0xFFFF,這個也被稱為基本平面(BMP-—Basic Multilingual Plane)。但是后來發現這樣的Unicode編碼也是不夠用,擴展了其他補充平面,從0x010000 - 0x10FFFF,共16個。對于補充平面的字符。對于UTF-16編碼方式來說,在0x0 - 0xFFFF之間的編碼方式直接使用了2個字節,而補充平面使用了4個字節來編碼,其中前兩個字節范圍是0xD800 - 0xDBFF,后兩個字節范圍是0xDC00 - 0xDFFF。通過下面的方式完成映射:

H = Math.floor((c-0x10000) / 0x400)+0xD800 
L = (c – 0x10000) % 0x400 + 0xDC00
USC-2編碼的那些坑
var text = "           
               
                                           
                       
                 

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95138.html

相關文章

  • 通過javascript進行UTF-8編碼

    摘要:通過進行編碼的字符集程序是使用字符集編寫的。這種情況下,我們必須就要通過程序將的字符串轉為編碼的字符串。英文占個字符,漢字占個字符然而,的編碼結構長度是根據某單個字符的大小來決定長度有多少。把英文字母轉為編碼。 通過javascript進行UTF-8編碼 javascript的字符集: javascript程序是使用Unicode字符集編寫的。Unicode是ASCII和Latin-...

    jone5679 評論0 收藏0
  • Unicode中UTF-8與UTF-16編碼詳解

    摘要:概念是一種針對的可變長度字符編碼,又稱萬國碼。通過上面的介紹我們可以知道,是一種非常通用的可變長字符編碼方式。概念是字符編碼五層次模型的第三層字符編碼表,也稱為的一種實現方式。 概述 本文通過介紹Unicode編碼以及對應的兩種編碼方式UTF-8和UTF-16,讓讀者能夠了解關于字符串編碼的相關知識,同時能夠弄清楚Unicode和UTF-8和UTF-16之間的關系。 本文的主要內容為:...

    cod7ce 評論0 收藏0
  • JavaScript 的內部字符編碼是 UCS-2 還是 UTF-16

    摘要:二和之間的不同和都是的字符編碼方式。提示如果你喜歡閱讀關于的內部字符編碼,可以,這里更詳細解釋了實際的問題,以及提供了解決方法。 對于 JavaScript 使用的是 UCS-2 還是 UTF-16 這個問題,我找了很久,沒有發現一個權威的回答,我決定自己研究一下它。這個回答來自于你對 JavaScript 引擎或者對 JavaScript 語言的理解。 一、著名的 BMP(Basic...

    BlackHole1 評論0 收藏0
  • 細說Unicode(二) UnicodeJavaScript的糾葛

    摘要:受到這個的影響,中的字符操作函數某些情況無法返回正確的結果。的碼點,還有另外一種表示方法,稱為進制轉義序列。這與我們的認知有點不同,我們通常認為一個表情符號也是一個字符,長度為。而如果通過來判斷字符串長度顯然是不夠準確的。 大家對上一篇文章中提到的UCS編碼可能比較陌生。殊不知這就是JavaScript采用的編碼方法。 既然Unicode已經統一了天下,為什么JavaScript不采用...

    Achilles 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<