Java-基础-数据转换
·
1. int转2进制(保留位数)
String binaryStr = IntToBinaryStr(1526, 12); //保留12bit
binaryStr 输出:0101 1111 0110
//=====================================================
public static String IntToBinaryStr(int code, int bits){
// bits 目标位数
String binaryStr = Integer.toBinaryString(code);
while (binaryStr.length() < bits) {
binaryStr = "0" + binaryStr; // 在前面补零
}
System.out.println(binaryStr); // 输出: 00001001(8位)
return binaryStr;
}
2.str(16进制)转str(汉字)
//str(16进制)转汉字(str)
//"B6FED1F5BBAFC1F2" 转后 "二氧化硫"
public static String StrHexToStringGBK(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i]=(byte)(0xff&Integer.parseInt(s.substring(i*2,i*2+2),16));
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
try {
s = new String(baKeyword,"GBK");// UTF-16le:Not
} catch (Exception e1) {
e1.printStackTrace();
return "";
}
return s;
3. unicode转汉字
String unicode = "\\u5DF2\\u5B58\\u5728\\uFF0C\\u8BF7\\u52FF\\u91CD\\u590D\\u4E0A\\u4F20";
String result = unicodeToChinese(unicode);
System.out.println(result);
public static String unicodeToChinese(String str) {
StringBuilder sb = new StringBuilder();
int i = 0;
while (i < str.length()) {
if (str.charAt(i) == '\\' && str.charAt(i+1) == 'u') {
String hex = str.substring(i+2, i+6);
char c = (char) Integer.parseInt(hex, 16);
sb.append(c);
i += 6;
} else {
sb
将持续更新
更多推荐


所有评论(0)