Class Percent

java.lang.Object
org.aoju.bus.core.codec.Percent
All Implemented Interfaces:
Serializable

public class Percent extends Object implements Serializable
百分号编码(Percent-encoding), 也称作URL编码(URL encoding) 百分号编码可用于URI的编码,也可以用于"application/x-www-form-urlencoded"的MIME准备数据
  • URI:遵循RFC 3986保留字规范
  • application/x-www-form-urlencoded,遵循W3C HTML Form content types规范,如空格须转+
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    构造 [a-zA-Z0-9]默认不被编码
    Percent(BitSet safeCharacters)
    构造
  • Method Summary

    Modifier and Type
    Method
    Description
    addSafe(char c)
    增加安全字符 安全字符不被编码
    encode(CharSequence path, Charset charset)
    将URL中的字符串编码为%形式
    static Percent
    创建Percent,使用指定字符串中的字符作为安全字符
    static Percent
    of(Percent codec)
    从已知Percent创建Percent,会复制给定Percent的安全字符
    or(Percent codec)
    增加安全字符到挡墙的Percent
    orNew(Percent codec)
    组合当前Percent和指定Percent为一个新的Percent,安全字符为并集
    removeSafe(char c)
    移除安全字符 安全字符不被编码
    setEncodeSpaceAsPlus(boolean encodeSpaceAsPlus)
    是否将空格编码为+ 如果为true,则将空格编码为"+",此项只在"application/x-www-form-urlencoded"中使用 如果为false,则空格编码为"%20",此项一般用于URL的Query部分(RFC3986规范)

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Percent

      public Percent()
      构造 [a-zA-Z0-9]默认不被编码
    • Percent

      public Percent(BitSet safeCharacters)
      构造
      Parameters:
      safeCharacters - 安全字符,安全字符不被编码
  • Method Details

    • of

      public static Percent of(Percent codec)
      从已知Percent创建Percent,会复制给定Percent的安全字符
      Parameters:
      codec - Percent
      Returns:
      this
    • of

      public static Percent of(CharSequence chars)
      创建Percent,使用指定字符串中的字符作为安全字符
      Parameters:
      chars - 安全字符合集
      Returns:
      this
    • addSafe

      public Percent addSafe(char c)
      增加安全字符 安全字符不被编码
      Parameters:
      c - 字符
      Returns:
      this
    • removeSafe

      public Percent removeSafe(char c)
      移除安全字符 安全字符不被编码
      Parameters:
      c - 字符
      Returns:
      this
    • or

      public Percent or(Percent codec)
      增加安全字符到挡墙的Percent
      Parameters:
      codec - Percent
      Returns:
      this
    • orNew

      public Percent orNew(Percent codec)
      组合当前Percent和指定Percent为一个新的Percent,安全字符为并集
      Parameters:
      codec - Percent
      Returns:
      this
    • setEncodeSpaceAsPlus

      public Percent setEncodeSpaceAsPlus(boolean encodeSpaceAsPlus)
      是否将空格编码为+ 如果为true,则将空格编码为"+",此项只在"application/x-www-form-urlencoded"中使用 如果为false,则空格编码为"%20",此项一般用于URL的Query部分(RFC3986规范)
      Parameters:
      encodeSpaceAsPlus - 是否将空格编码为+
      Returns:
      this
    • encode

      public String encode(CharSequence path, Charset charset)
      将URL中的字符串编码为%形式
      Parameters:
      path - 需要编码的字符串
      charset - 编码, null返回原字符串,表示不编码
      Returns:
      编码后的字符串