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

将持续更新

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐