public class SBHUtils {
public static String bytes2HexString(byte[] b) {
StringBuffer result = new StringBuffer();
for (int i = 0; i < b.length; i++) {
result.append(String.format("%02X", b[i]));
}
return result.toString();
}
public static byte[] hexString2Bytes(String src) {
int l = src.length() / 2;
byte[] ret = new byte[l];
for (int i = 0; i < l; i++) {
ret[i] = Integer.valueOf(src.substring(i * 2, i * 2 + 2), 16).byteValue();
}
return ret;
}
public static String string2HexUTF8(String strPart) {
return string2HexString(strPart, "UTF-8");
}
public static String string2HexUnicode(String strPart) {
return string2HexString(strPart, "Unicode");
}
public static String string2HexGBK(String strPart) {
return string2HexString(strPart, "GBK");
}
public static String string2HexString(String strPart, String tochartype) {
try {
return bytes2HexString(strPart.getBytes(tochartype));
} catch (Exception e) {
return "";
}
}
public static String hexUTF82String(String src) {
return hexString2String(src, "UTF-8", "UTF-8");
}
public static String hexGBK2String(String src) {
return hexString2String(src, "GBK", "UTF-8");
}
public static String hexUnicode2String(String src) {
return hexString2String(src, "Unicode", "UTF-8");
}
public static String hexString2String(String src, String oldchartype, String chartype) {
byte[] bts = hexString2Bytes(src);
try {
if (oldchartype.equals(chartype))
return new String(bts, oldchartype);
else
return new String(new String(bts, oldchartype).getBytes(), chartype);
} catch (Exception e) {
return "";
}
}
public static void main(String[] args) {
String text = "我爱我的祖国";
System.out.println(SBHUtils.string2HexGBK(text));
System.out.println(SBHUtils.string2HexUTF8(text));
System.out.println(SBHUtils.string2HexUnicode(text));
String hexGBK = "ced2b0aeced2b5c4d7e6b9fa";
String hexUTF8 = "e68891e788b1e68891e79a84e7a596e59bbd";
String hexUnicode = "feff6211723162117684795656fd";
System.out.println(SBHUtils.hexGBK2String(hexGBK));
System.out.println(SBHUtils.hexUTF82String(hexUTF8));
System.out.println(SBHUtils.hexUnicode2String(hexUnicode));
}
}
java编码转换工具类
最新推荐文章于 2023-10-16 15:07:30 发布