BOM DOM

BOMhtml

BOM(Byte Order Mark),字節順序標記,出如今文本文件頭部,Unicode編碼標準中用於標識文件是採用哪一種格式的編碼。編程

BOM —— Byte Order Mark,中文名譯做「 字節順序標記」。在這裏找到一段關於 BOM 的說明:
  在UCS 編碼中有一個叫作 "Zero Width No-Break Space" ,中文譯名做「零寬無間斷間隔」的字符,它的編碼是 FEFF。而 FFFE 在 UCS 中是不存在的字符,因此不該該出如今實際傳輸中。UCS 規範建議咱們在傳輸 字節流前,先傳輸字符 "Zero Width No-Break Space"。這樣若是接收者收到 FEFF,就代表這個字節流是 Big-Endian 的;若是收到FFFE,就代表這個字節流是 Little- Endian 的。所以字符 "Zero Width No-Break Space" (「零寬無間斷間隔」)又被稱做 BOM。
  UTF-8 不須要 BOM 來代表 字節順序,但能夠用 BOM 來代表編碼方式。字符 "Zero Width No-Break Space" 的 UTF-8 編碼是 EF BB BF。因此若是接收者收到以 EF BB BF 開頭的 字節流,就知道這是 UTF-8編碼了。Windows 就是使用 BOM 來標記文本文件的編碼方式的。
  字符U+FEFF若是出如今字節流的開頭,則用來標識該字節流的 字節序,是高位在前仍是低位在前。若是它出如今字節流的中間,則表達零寬度非換行空格的意義,用戶看起來就是一個空格。從 Unicode3.2開始,U+FEFF只能出如今字節流的開頭,只能用於標識字節序,就如它的名稱——字節序標記——所表示的同樣;除此之外的用法已被捨棄。取而代之的是,使用U+2060來表達零寬度無斷空白。
  相似WINDOWS自帶的記事本等軟件,在保存一個以 UTF-8編碼的文件時,會在文件開始的地方插入三個不可見的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隱藏的字符,用於讓記事本等編輯器識別這個文件是否以UTF-8編碼。對於通常的文件,這樣並不會產生什麼麻煩。但對於 PHP來講,BOM是個大麻煩。
  PHP並不會忽略BOM,因此在讀取、包含或者引用這些文件時,會把BOM做爲該文件開頭正文的一部分。根據嵌入式語言的特色,這串字符將被直接執行(顯示)出來。由此形成即便頁面的 top padding 設置爲0,也沒法讓整個網頁緊貼瀏覽器頂部,由於在html一開頭有這3個字符呢!
編碼
表示 ( 十六進制)
表示 ( 十進制)
EF BB BF
239 187 191
UTF-16(大端序)
FE FF
254 255
UTF-16(小端序)
FF FE
255 254
UTF-32(大端序)
00 00 FE FF
0 0 254 255
UTF-32(小端序)
FF FE 00 00
255 254 0 0
2B 2F 76和如下的 一個字節:[ 38 | 39 | 2B | 2F ]
43 47 118和如下的 一個字節:[ 56 | 57 | 43 | 47 ]
en:UTF-1
F7 64 4C
247 100 76
en:UTF-EBCDIC
DD 73 66 73
221 115 102 115
en:Standard Compression Scheme for Unicode
0E FE FF
14 254 255
en:BOCU-1
FB EE 28 及可能跟隨着FF
251 238 40 及可能跟隨着255
GB-18030
84 31 95 33
132 49 149 51

 

 

DOM瀏覽器

文檔對象模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴展標誌語言的標準編程接口。在網頁上,組織頁面(或文檔)的對象被組織在一個樹形結構中,用來表示文檔中對象的標準模型就稱爲DOM。Document Object Model的歷史能夠追溯至1990年代後期微軟與Netscape的「瀏覽器大戰」,雙方爲了在JavaScriptJScript一決生死,因而大規模的賦予瀏覽器強大的功能。微軟在網頁技術上加入了很多專屬事物,既有VBScriptActiveX、以及微軟自家的DHTML格式等,使很多網頁使用非微軟平臺及瀏覽器沒法正常顯示。DOM便是當時蘊釀出來的傑做。編輯器

經過使用getElementByld()和getElementsByTagName()方法編碼

  經過使用一個元素節點的parentNode、firstChild以及lastChild屬性spa

  getElementByld()和getElmementsTagName()這兩種方法,可查找整個HTML文檔中的任何HTML元素。3d

   這兩種方法會忽略文檔的結構。這兩種方法會向你提供任何你所須要的HTML元素,不論他們在文檔中所處的位置。code

  getElementByld()可經過指定的ID來返回元素:htm

  getElementByld()語法對象

  document.getElementByld("ID");註釋:getElementByld()沒法工做在XML中。在XML文檔中,你必須經過擁有類型id的屬性來進行搜索,而此類型必須在XMLDTD中進行聲明。

  getElementsByTagName()方法會使用指定的標籤名返回全部的元素(做爲一個節點列表),這些元素是你在使用

此方法時所處的元素的後代。

getElementsByTagName() 可被用於任何的 HTML 元素:

getElementsByTagName() 語法

document.getElementsByTagName("標籤名稱");或者:

document.getElementById('ID').getElementsByTagName("標籤名稱");

相關文章
相關標籤/搜索