Thứ Ba, 31 tháng 10, 2006

Encoding trong VSHTMLParser

Detect một stream trả về đúng charset encoding của nó hay chuyển đổi các ký tự đặc biệt về dạng character entity references trong HTML document.

1 nhận xét:

  1. Encoding trong VSHTMLParser

    Phiên bản parser 2.0 hiện tại đang cung cấp khả năng detect một stream để trả về đúng encoding của stream đó, do đó parser không cần thiết phải cung cấp charset khi parse một stream. Chẳng hạn :

    HTMLDocument document = HTMLParser.createDocument(url.openStream(), null);

    Tuy nhiên việc cung cấp encoding khi parse sẽ giúp cho HTMLParser bỏ qua quá trình detect giúp cho parse nhanh hơn, dữ liệu trả về các node dưới dạng character, dùng hàm getValue với HTMLNode object.

    Khả năng encode và decode các character entity references trong HTML 4, xem thêm tại http://www.w3.org/TR/html401/sgml/entities.html

    RefsDecoder và RefsEncoder đảm nhận vai trò này, chuyển các string dưới dạng reference về character có thể sử dụng, chẳng hạn một đoạn text sau "ch & # 7881; Gi& # 225;m & # 273 ; & # 7889;c " sẽ được decode trả lại đúng string thực của nó.

    code minh họa :

    RefsDecoder decoder = new RefsDecoder();
    char[] values= decoder.decode("ch&# 7881; Gi&# 225;m đ&# 7889;c ".toCharArray());

    Trả lờiXóa

nhudinhthuan@gmail.com