|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.opencms.i18n.CmsEncoder
public final class CmsEncoder
The OpenCms CmsEncoder 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 |
ENCODING_ISO_8859_1
Constant for the standard ISO-8859-1 encoding. |
static String |
ENCODING_UTF_8
Default encoding for JavaScript decodeUriComponent methods is UTF-8 by w3c standard. |
| Method Summary | |
|---|---|
static String |
adjustHtmlEncoding(String input,
String encoding)
Adjusts the given String by making sure all characters that can be displayed in the given charset are contained as chars, whereas all other non-displayable characters are converted to HTML entities. |
static byte[] |
changeEncoding(byte[] input,
String oldEncoding,
String newEncoding)
Changes the encoding of a byte array that represents a String. |
static String |
createString(byte[] bytes,
String encoding)
Creates a String out of a byte array with the specified encoding, falling back to the system default in case the encoding name is not valid. |
static String |
decode(String source)
Decodes a String using UTF-8 encoding, which is the standard for http data transmission with GET ant POST requests. |
static String |
decode(String source,
String encoding)
This method is a substitute for URLDecoder.decode(). |
static String |
decodeHtmlEntities(String input,
String encoding)
Decodes HTML entity references like € that are contained in the
String to a regulat character, but only if that character is contained in the given
encodings charset. |
static String |
encode(String source)
Encodes a String using UTF-8 encoding, which is the standard for http data transmission with GET ant POST requests. |
static String |
encode(String source,
String encoding)
This method is a substitute for URLEncoder.encode(). |
static String |
encodeHtmlEntities(String input,
String encoding)
Encodes all characters that are contained in the String which can not displayed in the given encodings charset with HTML entity references like €. |
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 |
lookupEncoding(String encoding,
String fallback)
Checks if a given encoding name is actually supported, and if so resolves it to it's canonical name, if not it returns the given fallback value. |
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 ENCODING_UTF_8
UTF-8 by w3c standard.
public static final String ENCODING_ISO_8859_1
ISO-8859-1 encoding.
| Method Detail |
|---|
public static String adjustHtmlEncoding(String input,
String encoding)
Just calls decodeHtmlEntities(String, String) first and feeds the result
to encodeHtmlEntities(String, String).
input - the input to adjust the HTML encoding forencoding - the charset to encode the result with
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 createString(byte[] bytes,
String encoding)
Use this method as a replacement for new String(byte[], encoding)
to avoid possible encoding problems.
bytes - the bytes to decodeencoding - the encoding scheme to use for decoding the bytes
public static String decode(String source)
source - the String to decode
public static String decode(String source,
String encoding)
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 method will then default to UTF-8 encoding, which is propably the right one.
source - The string to decodeencoding - The encoding to use (if null, the system default is used)
public static String decodeHtmlEntities(String input,
String encoding)
€ that are contained in the
String to a regulat character, but only if that character is contained in the given
encodings charset.
input - the input to decode the HTML enties inencoding - the charset to decode the input for
encodeHtmlEntities(String, String)public static String encode(String source)
source - the String to encode
public static String encode(String source,
String encoding)
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 method will then default to UTF-8 encoding, which is propably the right one.
source - the String to encodeencoding - the encoding to use (if null, the system default is used)
public static String encodeHtmlEntities(String input,
String encoding)
€.This is required since a Java String is internally always stored as Unicode, meaning it can contain almost every character, but the HTML charset used might not support all such characters.
input - the input to encode for HTMLencoding - the charset to encode the result with
decodeHtmlEntities(String, String)
public static String escape(String source,
String encoding)
source - The textstring to be encoded.encoding - the encoding type
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 escapeWBlanks(String source,
String encoding)
source - The textstring to be encoded.encoding - the encoding type
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 lookupEncoding(String encoding,
String fallback)
Charsets have a set of aliases. For example, valid aliases for "UTF-8" are "UTF8", "utf-8" or "utf8". This method resolves any given valid charset name to it's "canonical" form, so that simple String comparison can be used when checking charset names internally later.
Please see http://www.iana.org/assignments/character-sets for a list of valid charset alias names.
encoding - the encoding to check and resolvefallback - the fallback encoding scheme
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
public static String unescape(String source,
String encoding)
source - The String to be decoded.encoding - the encoding type
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||