public class OraUnicodeProperty extends Object implements Serializable
OraUnicodeProperty
class is used to access Unicode character property. Currently only display width information is provided.Modifier and Type | Method and Description |
---|---|
int |
getDisplayWidth(int codepoint, String charSet, boolean isReplacementOn)
Get the display width of a Unicode
codepoint . |
int |
getDisplayWidth(String str, String charSet, boolean isReplacementOn)
Get the display width of a Unicode string
str . |
static OraUnicodeProperty |
getInstance()
Get an OraUnicodeProperty instance.
|
public static OraUnicodeProperty getInstance()
public int getDisplayWidth(int codepoint, String charSet, boolean isReplacementOn) throws SQLException, UnsupportedEncodingException
codepoint
. Display width classification is based on East Asia Width definition of Unicode Standard, and display width data are from Unicode version 4.0. Ambiguous characters can be sometimes narrow and sometimes wide, and target character set charSet
is used to resolve their display width. In other words, if the display width of the Unicode codepoint
is ambiguous, then return its display width in the target character set charSet
. If its display width is not defined in the target character set, return 1 if it is a single byte character; return 2 otherwise(a multi-byte character).OraUnicodeProperty oup = OraUnicodeProperty.getInstance(); int width = oup.getDisplayWidth(0x1121, "EUC_JP", true);
codepoint
- a Unicode codepointcharSet
- a target JAVA character set nameisReplacementOn
- a flag indicating whether character replacement is allowed for conversion.UnsupportedEncodingException
- if the display width is ambiguous and the target character set name is invalid, or Oracle does not have a corresponding character set mapping, or the codepoint is an invalid surrogate.SQLException
- if character replacement is needed for conversion but the replacement flag is off.public int getDisplayWidth(String str, String charSet, boolean isReplacementOn) throws SQLException, UnsupportedEncodingException
str
. Display width classification is based on East Asia Width definition of Unicode Standard, and display width data are from Unicode version 4.0. Ambiguous characters can be sometimes narrow and sometimes wide, and target character set charSet
is used to resolve their display width.String str = "Hello, how are you?"; OraUnicodeProperty oup = OraUnicodeProperty.getInstance(); int width = oup.getDisplayWidth(str, "GBK", true);
str
- a Unicode stringcharSet
- a target JAVA character set nameisReplacementOn
- a flag indicating whether character replacement is allowed for conversionUnsupportedEncodingException
- if the display width is ambiguous and the target character set name is invalid or Oracle does not have a corresponding character set mapping, or the string contains any invalid unicode surrogates.SQLException
- if character replacement is needed for conversion but the replacement flag is off.