Class StringUtils
- java.lang.Object
-
- org.apache.commons.codec.binary.StringUtils
-
public class StringUtils extends java.lang.Object
Converts String to and from bytes using the encodings required by the Java specification. These encodings are specified in Standard charsets.This class is immutable and thread-safe.
- Since:
- 1.4
- See Also:
CharEncoding
, Standard charsets
-
-
Constructor Summary
Constructors Constructor Description StringUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
equals(java.lang.CharSequence cs1, java.lang.CharSequence cs2)
Compares two CharSequences, returningtrue
if they represent equal sequences of characters.static java.nio.ByteBuffer
getByteBufferUtf8(java.lang.String string)
Encodes the given string into a byte buffer using the UTF-8 charset, storing the result into a new byte array.static byte[]
getBytesIso8859_1(java.lang.String string)
Encodes the given string into a sequence of bytes using the ISO-8859-1 charset, storing the result into a new byte array.static byte[]
getBytesUnchecked(java.lang.String string, java.lang.String charsetName)
Encodes the given string into a sequence of bytes using the named charset, storing the result into a new byte array.static byte[]
getBytesUsAscii(java.lang.String string)
Encodes the given string into a sequence of bytes using the US-ASCII charset, storing the result into a new byte array.static byte[]
getBytesUtf16(java.lang.String string)
Encodes the given string into a sequence of bytes using the UTF-16 charset, storing the result into a new byte array.static byte[]
getBytesUtf16Be(java.lang.String string)
Encodes the given string into a sequence of bytes using the UTF-16BE charset, storing the result into a new byte array.static byte[]
getBytesUtf16Le(java.lang.String string)
Encodes the given string into a sequence of bytes using the UTF-16LE charset, storing the result into a new byte array.static byte[]
getBytesUtf8(java.lang.String string)
Encodes the given string into a sequence of bytes using the UTF-8 charset, storing the result into a new byte array.static java.lang.String
newString(byte[] bytes, java.lang.String charsetName)
Constructs a newString
by decoding the specified array of bytes using the given charset.static java.lang.String
newStringIso8859_1(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the ISO-8859-1 charset.static java.lang.String
newStringUsAscii(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the US-ASCII charset.static java.lang.String
newStringUtf16(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the UTF-16 charset.static java.lang.String
newStringUtf16Be(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the UTF-16BE charset.static java.lang.String
newStringUtf16Le(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the UTF-16LE charset.static java.lang.String
newStringUtf8(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the UTF-8 charset.
-
-
-
Method Detail
-
equals
public static boolean equals(java.lang.CharSequence cs1, java.lang.CharSequence cs2)
Compares two CharSequences, returning
true
if they represent equal sequences of characters.null
s are handled without exceptions. Twonull
references are considered to be equal. The comparison is case sensitive.StringUtils.equals(null, null) = true StringUtils.equals(null, "abc") = false StringUtils.equals("abc", null) = false StringUtils.equals("abc", "abc") = true StringUtils.equals("abc", "ABC") = false
Copied from Apache Commons Lang r1583482 on April 10, 2014 (day of 3.3.2 release).
- Parameters:
cs1
- the first CharSequence, may benull
cs2
- the second CharSequence, may benull
- Returns:
true
if the CharSequences are equal (case-sensitive), or bothnull
- Since:
- 1.10
- See Also:
Object.equals(Object)
-
getByteBufferUtf8
public static java.nio.ByteBuffer getByteBufferUtf8(java.lang.String string)
Encodes the given string into a byte buffer using the UTF-8 charset, storing the result into a new byte array.- Parameters:
string
- the String to encode, may benull
- Returns:
- encoded bytes, or
null
if the input string wasnull
- Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.UTF_8
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- 1.11
- See Also:
- Standard charsets,
getBytesUnchecked(String, String)
-
getBytesIso8859_1
public static byte[] getBytesIso8859_1(java.lang.String string)
Encodes the given string into a sequence of bytes using the ISO-8859-1 charset, storing the result into a new byte array.- Parameters:
string
- the String to encode, may benull
- Returns:
- encoded bytes, or
null
if the input string wasnull
- Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.ISO_8859_1
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException - See Also:
- Standard charsets,
getBytesUnchecked(String, String)
-
getBytesUnchecked
public static byte[] getBytesUnchecked(java.lang.String string, java.lang.String charsetName)
Encodes the given string into a sequence of bytes using the named charset, storing the result into a new byte array.This method catches
UnsupportedEncodingException
and rethrows it asIllegalStateException
, which should never happen for a required charset name. Use this method when the encoding is required to be in the JRE.- Parameters:
string
- the String to encode, may benull
charsetName
- The name of a requiredCharset
- Returns:
- encoded bytes, or
null
if the input string wasnull
- Throws:
java.lang.IllegalStateException
- Thrown when aUnsupportedEncodingException
is caught, which should never happen for a required charset name.- See Also:
CharEncoding
,String.getBytes(String)
-
getBytesUsAscii
public static byte[] getBytesUsAscii(java.lang.String string)
Encodes the given string into a sequence of bytes using the US-ASCII charset, storing the result into a new byte array.- Parameters:
string
- the String to encode, may benull
- Returns:
- encoded bytes, or
null
if the input string wasnull
- Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.US_ASCII
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException - See Also:
- Standard charsets,
getBytesUnchecked(String, String)
-
getBytesUtf16
public static byte[] getBytesUtf16(java.lang.String string)
Encodes the given string into a sequence of bytes using the UTF-16 charset, storing the result into a new byte array.- Parameters:
string
- the String to encode, may benull
- Returns:
- encoded bytes, or
null
if the input string wasnull
- Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.UTF_16
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException - See Also:
- Standard charsets,
getBytesUnchecked(String, String)
-
getBytesUtf16Be
public static byte[] getBytesUtf16Be(java.lang.String string)
Encodes the given string into a sequence of bytes using the UTF-16BE charset, storing the result into a new byte array.- Parameters:
string
- the String to encode, may benull
- Returns:
- encoded bytes, or
null
if the input string wasnull
- Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.UTF_16BE
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException - See Also:
- Standard charsets,
getBytesUnchecked(String, String)
-
getBytesUtf16Le
public static byte[] getBytesUtf16Le(java.lang.String string)
Encodes the given string into a sequence of bytes using the UTF-16LE charset, storing the result into a new byte array.- Parameters:
string
- the String to encode, may benull
- Returns:
- encoded bytes, or
null
if the input string wasnull
- Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.UTF_16LE
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException - See Also:
- Standard charsets,
getBytesUnchecked(String, String)
-
getBytesUtf8
public static byte[] getBytesUtf8(java.lang.String string)
Encodes the given string into a sequence of bytes using the UTF-8 charset, storing the result into a new byte array.- Parameters:
string
- the String to encode, may benull
- Returns:
- encoded bytes, or
null
if the input string wasnull
- Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.UTF_8
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException - See Also:
- Standard charsets,
getBytesUnchecked(String, String)
-
newString
public static java.lang.String newString(byte[] bytes, java.lang.String charsetName)
Constructs a newString
by decoding the specified array of bytes using the given charset.This method catches
UnsupportedEncodingException
and re-throws it asIllegalStateException
, which should never happen for a required charset name. Use this method when the encoding is required to be in the JRE.- Parameters:
bytes
- The bytes to be decoded into characters, may benull
charsetName
- The name of a requiredCharset
- Returns:
- A new
String
decoded from the specified array of bytes using the given charset, ornull
if the input byte array wasnull
. - Throws:
java.lang.IllegalStateException
- Thrown when aUnsupportedEncodingException
is caught, which should never happen for a required charset name.- See Also:
CharEncoding
,String(byte[], String)
-
newStringIso8859_1
public static java.lang.String newStringIso8859_1(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the ISO-8859-1 charset.- Parameters:
bytes
- The bytes to be decoded into characters, may benull
- Returns:
- A new
String
decoded from the specified array of bytes using the ISO-8859-1 charset, ornull
if the input byte array wasnull
. - Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.ISO_8859_1
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException
-
newStringUsAscii
public static java.lang.String newStringUsAscii(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the US-ASCII charset.- Parameters:
bytes
- The bytes to be decoded into characters- Returns:
- A new
String
decoded from the specified array of bytes using the US-ASCII charset, ornull
if the input byte array wasnull
. - Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.US_ASCII
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException
-
newStringUtf16
public static java.lang.String newStringUtf16(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the UTF-16 charset.- Parameters:
bytes
- The bytes to be decoded into characters- Returns:
- A new
String
decoded from the specified array of bytes using the UTF-16 charset ornull
if the input byte array wasnull
. - Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.UTF_16
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException
-
newStringUtf16Be
public static java.lang.String newStringUtf16Be(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the UTF-16BE charset.- Parameters:
bytes
- The bytes to be decoded into characters- Returns:
- A new
String
decoded from the specified array of bytes using the UTF-16BE charset, ornull
if the input byte array wasnull
. - Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.UTF_16BE
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException
-
newStringUtf16Le
public static java.lang.String newStringUtf16Le(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the UTF-16LE charset.- Parameters:
bytes
- The bytes to be decoded into characters- Returns:
- A new
String
decoded from the specified array of bytes using the UTF-16LE charset, ornull
if the input byte array wasnull
. - Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.UTF_16LE
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException
-
newStringUtf8
public static java.lang.String newStringUtf8(byte[] bytes)
Constructs a newString
by decoding the specified array of bytes using the UTF-8 charset.- Parameters:
bytes
- The bytes to be decoded into characters- Returns:
- A new
String
decoded from the specified array of bytes using the UTF-8 charset, ornull
if the input byte array wasnull
. - Throws:
java.lang.NullPointerException
- Thrown ifStandardCharsets.UTF_8
is not initialized, which should never happen since it is required by the Java platform specification.- Since:
- As of 1.7, throws
NullPointerException
instead of UnsupportedEncodingException
-
-