Class RFC2231Utility
- java.lang.Object
-
- org.apache.tomcat.util.http.fileupload.util.mime.RFC2231Utility
-
public final class RFC2231Utility extends java.lang.ObjectUtility class to decode/encode character set on HTTP Header fields based on RFC 2231. This implementation adheres to RFC 5987 in particular, which was defined for HTTP headers.RFC 5987 builds on RFC 2231, but has lesser scope like mandatory charset definition and no parameter continuation
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringdecodeText(java.lang.String encodedText)Decode a string of text obtained from a HTTP header as per RFC 2231static booleanhasEncodedValue(java.lang.String paramName)Checks if Asterisk (*) at the end of parameter name to indicate, if it has charset and language information to decode the value.static java.lang.StringstripDelimiter(java.lang.String paramName)IfparamNamehas Asterisk (*) at the end, it will be stripped off, else the passed value will be returned.
-
-
-
Method Detail
-
hasEncodedValue
public static boolean hasEncodedValue(java.lang.String paramName)
Checks if Asterisk (*) at the end of parameter name to indicate, if it has charset and language information to decode the value.- Parameters:
paramName- The parameter, which is being checked.- Returns:
true, if encoded as per RFC 2231,falseotherwise
-
stripDelimiter
public static java.lang.String stripDelimiter(java.lang.String paramName)
IfparamNamehas Asterisk (*) at the end, it will be stripped off, else the passed value will be returned.- Parameters:
paramName- The parameter, which is being inspected.- Returns:
- stripped
paramNameof Asterisk (*), if RFC2231 encoded
-
decodeText
public static java.lang.String decodeText(java.lang.String encodedText) throws java.io.UnsupportedEncodingExceptionDecode a string of text obtained from a HTTP header as per RFC 2231Eg 1.
us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2Awill be decoded toThis is ***fun***Eg 2.
iso-8859-1'en'%A3%20ratewill be decoded to£ rateEg 3.
UTF-8''%c2%a3%20and%20%e2%82%ac%20rateswill be decoded to£ and € rates- Parameters:
encodedText- - Text to be decoded has a format of<charset>'<language>'<encoded_value>and ASCII only- Returns:
- Decoded text based on charset encoding
- Throws:
java.io.UnsupportedEncodingException- The requested character set wasn't found.
-
-