Skip to content

Repository files navigation

htmlentity

A library for encoding and decoding HTML entities.

DocsBuild Statuscodecov

How to use

use htmlentity::entity::{ encode, decode,EncodeType,CharacterSet,ICodedDataTrait};use htmlentity::types::{AnyhowResult,Byte};fnmain() -> AnyhowResult<()>{let html = "<div name='htmlentity'>Hello!世界!</div>";let html_after_encoded = "&lt;div name='htmlentity'&gt;Hello!&#x4e16;&#x754c;!&lt;/div&gt;";// encodelet encoded_data = encode(
html.as_bytes(),// encode format&EncodeType::NamedOrHex,// charcters need to be encoded &CharacterSet::HtmlAndNonASCII);assert_eq!(encoded_data.to_bytes(), html_after_encoded.as_bytes());assert_eq!(encoded_data.to_string()?,String::from(html_after_encoded));let char_list = String::from(html_after_encoded).chars().collect::<Vec<char>>();assert_eq!(encoded_data.to_chars()?, char_list);// decodelet bytes = encoded_data.into_iter().map(|(byte, _)| *byte).collect::<Vec<Byte>>();let decoded_data = decode(&bytes);assert_eq!(decoded_data.to_bytes(), html.as_bytes());assert_eq!(decoded_data.to_string()?,String::from(html));let char_list = String::from(html).chars().collect::<Vec<char>>();assert_eq!(decoded_data.to_chars()?, char_list);// shortcut usageassert_eq!(
encode(
html.as_bytes(),&EncodeType::NamedOrHex,&CharacterSet::HtmlAndNonASCII,).to_string()?,String::from(html));Ok(())}

For more details, please see the document in Docs.rs

License

MIT License.

About

A library for encoding and decoding html entities.

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages