知道&
是&的html實體值 - 像w3c這樣的驗證器如何知道這一點?即使當我查看我的源代碼時,它已經被解析爲正確的值。驗證器如何區分'&'和'&amp'?
0
A
回答
1
你的問題是基於一個錯誤的前提 - 正如Co_42指出的,&
不是'&'
的「ASCII值」。這是一個代表字符'&'
的HTML character reference。 '&'
的ASCII值是38
(或0x26
)。
您的源代碼幾乎肯定由ASCII或Unicode文本文件組成。那些不使用HTML實體。如果您的源代碼中存儲了帶&符號的字符串,則可能會將其與"&"
一起存儲。如果在某處存在包含實際HTML數據的字符串文字,它可能包含"&"
。
當您使用某種工具或函數將字符串轉換爲準備放入HTML或XML文檔的文本時,任何"&"
都將(應當!)轉換爲"&"
。
當讀取HTML文檔的程序遇到ASCII "&"
時,它可以認爲這是HTML字符引用的開始。這是可以的,因爲所有實際文本中的&符號應該已被轉換爲"&"
。
作爲一個有點反常例如,如果你在一個文字處理器中打開你的源代碼,並保存爲HTML文檔,你會發現,在實際的文件,"&"
已被改造成"&"
(和"&"
已轉換到"&"
)。如果您然後在瀏覽器中打開該文檔,您會發現,在文本編輯器中查看源代碼時,它們的顯示方式與它們的顯示方式相同。保存HTML文檔時發生的編碼步驟與瀏覽器顯示時的解碼步驟相對應。
如果您將諸如"Fish & chips"
之類的內容直接放入實際的HTML文檔中,您的HTML文檔將無效。使問題更復雜的是,瀏覽器等程序往往會嘗試從文檔中的錯誤中恢復並無論如何顯示文檔。因此,當您打開無效文檔時,您的瀏覽器仍可能在屏幕上顯示"Fish & chips"
。但是,像W3C驗證程序這樣專門用於發現HTML文檔中的錯誤的程序會通知您,您的文檔無效。
相關問題
- 1. AMP腳本警告驗證器
- 2. 最精確的AMP驗證器?
- 3. Wordpress - AMP驗證器失敗 - NextGen圖庫
- 4. Facebook連接,驗證網站。 &和&
- 5. 驗證AMP頁面問題
- 6. AMP Google Search Console驗證
- 7. 如何區分收到的身份驗證和LogOut SAML響應
- 8. 如何區分Mongoose中的驗證和系統錯誤?
- 9. 區分unique_together驗證錯誤
- 10. 谷歌AMP驗證顯示「未知語法錯誤」爲AMP-HTML
- 11. 「&」中的XML驗證使用Xerces的
- 12. 學習,驗證和測試分類器
- 13. 如何避免彈簧驗證信息從「&」轉換爲「&」
- 14. 如何驗證複選框在AMP形式
- 15. 如何維護服務器端驗證和客戶端驗證
- 16. 如何驗證和驗證密碼?
- 17. 如何驗證分片?
- 18. 區域驗證?
- 19. jQuery驗證:容器和HTML驗證
- 20. ,C#,服務器驗證和驗證塊
- 21. Knockoutjs驗證和服務器驗證
- 22. Argparse:如何區分語法分析器和子分析器
- 23. Jquery屬性 - 如何使驗證不區分大小寫?
- 24. 如何區分使用基本身份驗證的用戶
- 25. 如何驗證Kafka中分區或主題的大小?
- 26. 如何驗證時區的包含?
- 27. 區塊鏈如何驗證新資產?
- 28. 如何在我的驗證方法中區分編輯和創建新項目?
- 29. ORM的分離和驗證
- 30. JSF和部分驗證
這不是一個ascii值,這是一個html實體。 –
@ Co_42我想我不知道兩者之間的區別。 –