mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
99 lines
2.7 KiB
Java
99 lines
2.7 KiB
Java
package io.ebeaninternal.util;
|
|
|
|
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.net.URLDecoder;
|
|
import java.net.URLEncoder;
|
|
|
|
|
|
/**
|
|
* Utilities for encoding and decoding strings.
|
|
*/
|
|
public final class EncodeUtil {
|
|
|
|
private EncodeUtil() {
|
|
/* no instances */
|
|
}
|
|
|
|
/**
|
|
* URL-encodes the specified UTF-8 string.
|
|
*/
|
|
public static String urlEncode(String string) {
|
|
if (string == null) return null;
|
|
try {
|
|
return URLEncoder.encode(string, "UTF-8");
|
|
} catch (UnsupportedEncodingException e) {
|
|
throw new IllegalStateException("Support for UTF-8 is mandated by the Java spec", e);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* URL-decodes the specified string as a UTF-8 string.
|
|
*/
|
|
public static String urlDecode(String string) {
|
|
if (string == null) return null;
|
|
try {
|
|
return URLDecoder.decode(string, "UTF-8");
|
|
} catch (UnsupportedEncodingException e) {
|
|
throw new IllegalStateException("Support for UTF-8 is mandated by the Java spec", e);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Returns the bytes corresponding to the specified ASCII string.
|
|
*/
|
|
public static byte[] asciiToBytes(String string) {
|
|
if (string == null) return null;
|
|
try {
|
|
return string.getBytes("US-ASCII");
|
|
} catch (UnsupportedEncodingException e) {
|
|
throw new IllegalStateException("Support for US-ASCII is mandated by the Java spec", e);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Returns the ASCII string corresponding to the specified bytes.
|
|
*/
|
|
public static String bytesToAscii(byte[] data) {
|
|
try {
|
|
return new String(data, "US-ASCII");
|
|
} catch (UnsupportedEncodingException e) {
|
|
throw new IllegalStateException("Support for US-ASCII is mandated by the Java spec", e);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Returns the bytes corresponding to the specified UTF-8 string.
|
|
*/
|
|
public static byte[] utf8ToBytes(String string) {
|
|
if (string == null) return null;
|
|
try {
|
|
return string.getBytes("UTF-8");
|
|
} catch (UnsupportedEncodingException e) {
|
|
throw new IllegalStateException("Support for UTF-8 is mandated by the Java spec", e);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Returns the UTF-8 string corresponding to the specified bytes.
|
|
*/
|
|
public static String bytesToUtf8(byte[] data) {
|
|
try {
|
|
return new String(data, "UTF-8");
|
|
} catch (UnsupportedEncodingException e) {
|
|
throw new IllegalStateException("Support for UTF-8 is mandated by the Java spec", e);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Returns the UTF-8 string corresponding to the specified bytes.
|
|
*/
|
|
public static String decodeBytes(byte[] data, String encoding) {
|
|
try {
|
|
return new String(data, encoding);
|
|
} catch (UnsupportedEncodingException e) {
|
|
throw new RuntimeException("Error decoding bytes with " + encoding, e);
|
|
}
|
|
}
|
|
}
|