|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object | +--com.opencms.util.Encoder
The OpenCms Encoder class provides static methods to decode and encode data.
The methods in this class are substitutes for java.net.URLEncoder.encode() and
java.net.URLDecoder.decode(). Use the methods from this class in all OpenCms
core classes to ensure the encoding is always handled the same way.
The de- and encoding uses the same coding mechanism as JavaScript, special characters are
replaxed with %hex where hex is a two digit hex number.
Note: On the client side (browser) instead of using corresponding escape
and unescape JavaScript functions, better use encodeURIComponent and
decodeURIComponent functions wich are work properly with unicode characters.
These functions are supported in IE 5.5+ and NS 6+ only.
| Field Summary | |
static String |
C_URI_ENCODING
Default encoding for JavaScript decodeUriComponent methods is UTF-8 by w3c standard |
| Constructor Summary | |
Encoder()
Constructor |
|
| Method Summary | |
static byte[] |
changeEncoding(byte[] input,
String oldEncoding,
String newEncoding)
Changes the encoding of a byte array that represents a String. |
static String |
decode(String source)
Decodes a String using the default encoding. |
static String |
decode(String source,
String encoding,
boolean fallbackToDefaultDecoding)
This method is a substitute for URLDecoder.decode().
|
static String |
encode(String source)
Encodes a String using the default encoding. |
static String |
encode(String source,
String encoding,
boolean fallbackToDefaultEncoding)
This method is a substitute for URLEncoder.encode().
|
static String |
escape(String source,
String encoding)
Encodes a String in a way that is compatible with the JavaScript escape function. |
static String |
escapeHtml(String source)
Escapes special characters in a HTML-String with their number-based entity representation, for example & becomes &. |
static String |
escapeNonAscii(String source)
Escapes non ASCII characters in a HTML-String with their number-based entity representation, for example & becomes &. |
static String |
escapeWBlanks(String source,
String encoding)
Encodes a String in a way that is compatible with the JavaScript escape function. |
static String |
escapeXml(String source)
Escapes a String so it may be printed as text content or attribute value in a HTML page or an XML file. |
static String |
redecodeUriComponent(String input)
Re-decodes a String that has not been correctly decoded and thus has scrambled character bytes. |
static String |
unescape(String source,
String encoding)
Decodes a String in a way that is compatible with the JavaScript unescape function. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final String C_URI_ENCODING
| Constructor Detail |
public Encoder()
| Method Detail |
public static String encode(String source,
String encoding,
boolean fallbackToDefaultEncoding)
URLEncoder.encode().
Use this in all OpenCms core classes to ensure the encoding is
always handled the same way.
In case you don't know what encoding to use, set the value of
the encoding parameter to null.
This will use the default encoding, which is propably the right one.
It also solves a backward compatiblity issue between Java 1.3 and 1.4, since 1.3 does not support an explicit encoding parameter and always uses the default system encoding.
source - the String to encodeencoding - the encoding to use (if null, the system default is used)
public static String encode(String source)
source - the String to encode
public static String decode(String source,
String encoding,
boolean fallbackToDefaultDecoding)
URLDecoder.decode().
Use this in all OpenCms core classes to ensure the encoding is
always handled the same way.
In case you don't know what encoding to use, set the value of
the encoding parameter to null.
This will use the default encoding, which is propably the right one.
It also solves a backward compatiblity issue between Java 1.3 and 1.4, since 1.3 does not support an explicit encoding parameter and always uses the default system encoding.
source - The string to decodeencoding - The encoding to use (if null, the system default is used)fallbackToDefaultDecoding - If true, the method will fallback to the default encoding (Java 1.3 style),
if false, the source String will be returned undecoded
public static String decode(String source)
source - the String to decode
public static String escape(String source,
String encoding)
public static String escapeWBlanks(String source,
String encoding)
public static String escapeXml(String source)
This method replaces the following characters in a String:
source - the string to escape
escapeHtml(String)public static String escapeHtml(String source)
A character num is replaced if
((ch != 32) && ((ch > 122) || (ch < 48) || (ch == 60) || (ch == 62)))
source - the String to escape
escapeXml(String)public static String escapeNonAscii(String source)
A character num is replaced if
(ch > 255)
source - the String to escape
escapeXml(String)
public static String unescape(String source,
String encoding)
public static byte[] changeEncoding(byte[] input,
String oldEncoding,
String newEncoding)
input - the byte array to convertoldEncoding - the current encoding of the byte arraynewEncoding - the new encoding of the byte array
public static String redecodeUriComponent(String input)
This is an equivalent to the JavaScript "decodeURIComponent" function. It converts from the default "UTF-8" to the currently selected system encoding.
input - the String to convert
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||