Ký tự thoát HTML là gì?
Bên trong một phần tử, phần tử này chỉ bao gồm ký hiệu thoát thực thể và Content-Type: text/html; charset=utf-80 và dấu phân cách phần tử nhỏ hơn và lớn hơn dấu Content-Type: text/html; charset=utf-81 Content-Type: text/html; charset=utf-82 Show
Đây là ba ký tự chính luôn được thoát trong các tệp HTML và XML của bạn,
Bên trong các giá trị thuộc tính, bạn cũng phải thoát khỏi ký tự trích dẫn mà bạn đang sử dụng
Ví dụ về cách thoát ký tự HTMLThoát mã ví dụ HTML và ký tự không thoát bằng JavaScript
đầu ra Một số thực thể ký tự HTML hữu ích ResultDescriptionEntity NameEntity Numbernon-breaking spaceHãy bình luận nếu bạn có bất kỳ nghi ngờ và đề xuất nào về mã thoát HTML này
Rohit Bằng cấp về Khoa học Máy tính và Kỹ sư. Nhà phát triển ứng dụng và có kinh nghiệm về nhiều ngôn ngữ lập trình. Đam mê công nghệ & thích học hỏi kỹ thuật Trong khi Ngôn ngữ đánh dấu siêu văn bản (HTML) đã được sử dụng từ năm 1991, HTML 4. 0 từ tháng 12 năm 1997 là phiên bản tiêu chuẩn hóa đầu tiên trong đó các ký tự quốc tế được xử lý hoàn chỉnh hợp lý. Khi một tài liệu HTML bao gồm các ký tự đặc biệt nằm ngoài phạm vi ASCII bảy bit, hai mục tiêu đáng được xem xét. tính toàn vẹn của thông tin và hiển thị trình duyệt chung Chỉ định mã hóa ký tự của tài liệu[sửa]Có hai cách chung để chỉ định mã hóa ký tự nào được sử dụng trong tài liệu Đầu tiên, máy chủ web có thể bao gồm mã hóa ký tự hoặc " Content-Type: text/html; charset=utf-83" trong tiêu đề Giao thức truyền siêu văn bản (HTTP) Content-Type: text/html; charset=utf-84, tiêu đề này thường trông như thế này. [1] Content-Type: text/html; charset=utf-8 Phương pháp này cung cấp cho máy chủ HTTP một cách thuận tiện để thay đổi mã hóa của tài liệu theo thỏa thuận nội dung; . [2] Thứ hai, một tuyên bố có thể được bao gồm trong chính tài liệu Đối với HTML, có thể bao gồm thông tin này bên trong phần tử Content-Type: text/html; charset=utf-86 ở gần đầu tài liệu. [3] HTML5 cũng cho phép cú pháp sau có nghĩa giống hệt nhau. [3] Tài liệu XHTML có tùy chọn thứ ba. để thể hiện mã hóa ký tự thông qua khai báo XML, như sau. [4] Với cách tiếp cận thứ hai này, vì không thể biết mã hóa ký tự cho đến khi khai báo được phân tích cú pháp, nên có một vấn đề là biết mã hóa ký tự nào được sử dụng trong tài liệu cho đến và bao gồm cả chính khai báo đó. Nếu mã hóa ký tự là một phần mở rộng ASCII thì nội dung cho đến và bao gồm cả phần khai báo phải là ASCII thuần túy và điều này sẽ hoạt động chính xác. Đối với mã hóa ký tự không phải là phần mở rộng ASCII (i. e. không phải là tập hợp siêu của ASCII), chẳng hạn như UTF-16BE và UTF-16LE, bộ xử lý HTML, chẳng hạn như trình duyệt web, sẽ có thể phân tích cú pháp khai báo trong một số trường hợp thông qua việc sử dụng heuristic Thuật toán phát hiện mã hóa[sửa | sửa mã nguồn]Kể từ HTML5, bộ ký tự được đề xuất là UTF-8. [3] Một "thuật toán đánh hơi mã hóa" được xác định trong thông số kỹ thuật để xác định mã hóa ký tự của tài liệu dựa trên nhiều nguồn đầu vào, bao gồm
Các ký tự bên ngoài phạm vi ASCII có thể in được (32 đến 126) thường xuất hiện không chính xác. Điều này gây ra một số vấn đề đối với người dùng nói tiếng Anh, nhưng các ngôn ngữ khác thường xuyên—trong một số trường hợp, luôn luôn—yêu cầu các ký tự nằm ngoài phạm vi đó. Trong các môi trường ngôn ngữ tiếng Trung, tiếng Nhật và tiếng Hàn (CJK), nơi có một số mã hóa nhiều byte khác nhau được sử dụng, tính năng tự động phát hiện cũng thường được sử dụng. Cuối cùng, các trình duyệt cũng thường cho phép người dùng ghi đè nhãn bộ ký tự không chính xác theo cách thủ công Các trang web đa ngôn ngữ và trang web bằng các ngôn ngữ không thuộc phương Tây sử dụng UTF-8 ngày càng phổ biến, cho phép sử dụng cùng một mã hóa cho tất cả các ngôn ngữ. UTF-16 hoặc UTF-32, cũng có thể được sử dụng cho tất cả các ngôn ngữ, ít được sử dụng rộng rãi hơn vì chúng có thể khó xử lý hơn trong các ngôn ngữ lập trình giả sử mã hóa siêu bộ ASCII hướng byte và chúng kém hiệu quả hơn đối với văn bản với Việc xem thành công một trang không nhất thiết là dấu hiệu cho thấy mã hóa của trang đó được chỉ định chính xác. Nếu cả người tạo và người đọc trang đều giả định một số mã hóa ký tự dành riêng cho nền tảng và máy chủ không gửi bất kỳ thông tin nhận dạng nào, thì người đọc vẫn sẽ thấy trang như ý định của người tạo, nhưng những người đọc khác trên các nền tảng khác hoặc bằng các ngôn ngữ bản địa khác Mã hóa được phép[sửa]Tiêu chuẩn mã hóa WHATWG, được tham chiếu bởi các tiêu chuẩn HTML gần đây (Tiêu chuẩn sống của WHATWG HTML hiện tại, cũng như W3C HTML 5 cạnh tranh trước đây. 0 và 5. 1) chỉ định danh sách mã hóa mà trình duyệt phải hỗ trợ. Các tiêu chuẩn HTML cấm hỗ trợ các bảng mã khác. [6][7][8] Tiêu chuẩn mã hóa quy định thêm rằng các định dạng mới, giao thức mới (ngay cả khi các định dạng hiện có được sử dụng) và tác giả của các tài liệu mới được yêu cầu sử dụng riêng UTF-8. [9] Ngoài UTF-8, các bảng mã sau được liệt kê rõ ràng trong chính tiêu chuẩn HTML, có tham chiếu đến Tiêu chuẩn mã hóa. [số 8]
Các mã hóa bổ sung sau đây được liệt kê trong Tiêu chuẩn mã hóa và do đó cũng cần hỗ trợ cho chúng. [9]
Các mã hóa sau đây được liệt kê là ví dụ rõ ràng về mã hóa bị cấm. [số 8] Tiêu chuẩn cũng xác định bộ giải mã "thay thế", ánh xạ tất cả nội dung được gắn nhãn là mã hóa nhất định cho ký tự thay thế (�), hoàn toàn từ chối xử lý nội dung đó. Điều này nhằm mục đích ngăn chặn các cuộc tấn công (e. g. tập lệnh chéo trang) có thể khai thác sự khác biệt giữa máy khách và máy chủ về mã hóa nào được hỗ trợ để che dấu nội dung độc hại. [28] Mặc dù mối quan tâm bảo mật tương tự áp dụng cho ISO-2022-JP và UTF-16, cũng cho phép các chuỗi byte ASCII được diễn giải theo cách khác, phương pháp này không được coi là khả thi đối với chúng vì chúng được sử dụng tương đối thường xuyên hơn trong triển khai . [29] Các bảng mã sau nhận được cách xử lý này. [30] Tài liệu tham khảo nhân vật [ chỉnh sửa ]Ngoài mã hóa ký tự gốc, các ký tự cũng có thể được mã hóa dưới dạng tham chiếu ký tự, có thể là tham chiếu ký tự số (thập phân hoặc thập lục phân) hoặc tham chiếu thực thể ký tự. Tham chiếu thực thể ký tự đôi khi cũng được gọi là thực thể được đặt tên hoặc thực thể HTML cho HTML. Việc sử dụng các tham chiếu ký tự của HTML bắt nguồn từ SGML Tham chiếu ký tự HTML[sửa mã nguồn]Một tham chiếu ký tự số trong HTML đề cập đến một ký tự theo điểm mã Unicode/Bộ ký tự chung của nó và sử dụng định dạng 6 hoặc 7 trong đó nnnn là điểm mã ở dạng thập phân và hhhh là điểm mã ở dạng thập lục phân. X phải là chữ thường trong tài liệu XML. nnnn hoặc hhhh có thể là bất kỳ số chữ số nào và có thể bao gồm các số 0 đứng đầu. hhhh có thể trộn lẫn chữ hoa và chữ thường, mặc dù chữ hoa là kiểu thông thường Không phải tất cả các trình duyệt web hoặc ứng dụng email được sử dụng bởi người nhận tài liệu HTML hoặc trình soạn thảo văn bản được tác giả của tài liệu HTML sử dụng đều có thể hiển thị tất cả các ký tự HTML. Hầu hết các phần mềm hiện đại đều có thể hiển thị hầu hết hoặc tất cả các ký tự cho ngôn ngữ của người dùng và sẽ vẽ một hộp hoặc chỉ báo rõ ràng khác cho các ký tự mà chúng không thể hiển thị Đối với các mã từ 0 đến 127, bộ tiêu chuẩn ASCII 7 bit ban đầu, hầu hết các ký tự này có thể được sử dụng mà không cần tham chiếu ký tự. Tất cả các mã từ 160 đến 255 đều có thể được tạo bằng tên thực thể ký tự. Chỉ một số mã được đánh số cao hơn có thể được tạo bằng cách sử dụng tên thực thể, nhưng tất cả đều có thể được tạo bằng tham chiếu ký tự số thập phân Các tham chiếu thực thể ký tự cũng có thể có định dạng 8 trong đó tên là một chuỗi chữ và số phân biệt chữ hoa chữ thường. Ví dụ: "λ" cũng có thể được mã hóa thành 9 trong tài liệu HTML. Các tham chiếu thực thể ký tự 0, 1, 2 và 3 được xác định trước trong HTML và SGML, bởi vì 0, 1, 2 và 3 đã được sử dụng để phân định đánh dấu. Đáng chú ý là điều này không bao gồm thực thể 8 (') của XML trước HTML5. Để biết danh sách tất cả các tham chiếu thực thể ký tự HTML đã đặt tên cùng với các phiên bản mà chúng được giới thiệu, hãy xem Danh sách tham chiếu thực thể ký tự XML và HTML Việc sử dụng tham chiếu ký tự HTML không cần thiết có thể làm giảm đáng kể khả năng đọc HTML. Nếu mã hóa ký tự cho một trang web được chọn phù hợp, thì các tham chiếu ký tự HTML thường chỉ được yêu cầu đối với các ký tự phân tách đánh dấu như đã đề cập ở trên và đối với một vài ký tự đặc biệt (hoặc hoàn toàn không có ký tự nào nếu sử dụng mã hóa Unicode gốc như UTF-8 . Thoát thực thể HTML không chính xác cũng có thể mở ra các lỗ hổng bảo mật cho các cuộc tấn công tiêm chích, chẳng hạn như tập lệnh chéo trang. Nếu các thuộc tính HTML không được trích dẫn, một số ký tự nhất định, quan trọng nhất là khoảng trắng, chẳng hạn như dấu cách và tab, phải được thoát bằng cách sử dụng các thực thể. Các ngôn ngữ khác liên quan đến HTML có phương thức thoát ký tự riêng Tham chiếu ký tự XML[sửa]Không giống như HTML truyền thống với nhiều tham chiếu thực thể ký tự, trong XML chỉ có năm tham chiếu thực thể ký tự được xác định trước. Chúng được sử dụng để thoát các ký tự nhạy cảm với đánh dấu trong các ngữ cảnh nhất định. [31] Tất cả các tham chiếu thực thể ký tự khác phải được xác định trước khi chúng có thể được sử dụng. Ví dụ: việc sử dụng Content-Type: text/html; charset=utf-834 (cung cấp é, chữ E viết thường trong tiếng Latinh có dấu rõ ràng, U+00E9 trong Unicode) trong tài liệu XML sẽ tạo ra lỗi trừ khi thực thể đã được xác định. XML cũng yêu cầu Content-Type: text/html; charset=utf-835 trong tham chiếu số thập lục phân phải ở dạng chữ thường. ví dụ Content-Type: text/html; charset=utf-836 thay vì Content-Type: text/html; charset=utf-836. XHTML, là một ứng dụng XML, hỗ trợ tập thực thể HTML, cùng với các thực thể được xác định trước của XML Ví dụ ký tự thoát là gì?Ký tự thoát là dấu gạch chéo ngược \ theo sau là ký tự bạn muốn chèn .
Ký tự thoát có nghĩa là gì?Trong điện toán và viễn thông, một ký tự thoát là ký tự đưa ra cách giải thích thay thế cho các ký tự sau trong chuỗi ký tự . Một ký tự thoát là một trường hợp cụ thể của siêu ký tự.
Tôi có thể thoát các ký tự đặc biệt của HTML không?Chuỗi − Chúng ta có thể chuyển bất kỳ chuỗi HTML nào làm đối số để thoát khỏi các ký tự đặc biệt và mã hóa nó . |