zoukankan      html  css  js  c++  java
  • Java将字符串转成二进制码

    Java将字符串转成二进制码

    public void toBinary(){
        String str = "王雪";
        char[] strChar=str.toCharArray();
        String result="";
        for(int i=0;i<strChar.length;i++){
            result +=Integer.toBinaryString(strChar[i])+ " ";
        }
        System.out.println(result);
    }

    输出结果为:111001110001011 1001011011101010 

    Java将二进制码转成字符串

    //将二进制字符串转换成int数组
        public int[] BinstrToIntArray(String binStr) {       
            char[] temp=binStr.toCharArray();
            int[] result=new int[temp.length];   
            for(int i=0;i<temp.length;i++) {
                result[i]=temp[i]-48;
            }
            return result;
        }
        
        //将二进制转换成字符
         public char BinstrToChar(String binStr){
             int[] temp=BinstrToIntArray(binStr);
             int sum=0;
             for(int i=0; i<temp.length;i++){
                 sum +=temp[temp.length-1-i]<<i;
             }   
             return (char)sum;
        }
        public void BinstrToStr(){
            String binStr = "111001110001011 1001011011101010 ";
            String[] tempStr=binStr.split(" ");
            char[] tempChar=new char[tempStr.length];
            for(int i=0;i<tempStr.length;i++) {
               tempChar[i]=BinstrToChar(tempStr[i]);
            }
            System.out.println(String.valueOf(tempChar));
         }

    根据Unicode码表,将二进制码转换成字符

    1、先将二进制转换成十六进制

    111001110001011   -->0111 0011 1000 1011 不够四位则高位补零(左边) -->0x738b

    1001011011101010  -->1001 0110 1110 1010 -->0x96ea。然后查Unicode码表可得对应字符

  • 相关阅读:
    洛谷 P1226 【模板】快速幂||取余运算 题解
    洛谷 P2678 跳石头 题解
    洛谷 P2615 神奇的幻方 题解
    洛谷 P1083 借教室 题解
    洛谷 P1076 寻宝 题解
    洛谷 UVA10298 Power Strings 题解
    洛谷 P3375 【模板】KMP字符串匹配 题解
    Kafka Shell基本命令
    Mybatis与Hibernate的详细对比
    MyBatis简介
  • 原文地址:https://www.cnblogs.com/StanLong/p/6906814.html
Copyright © 2011-2022 走看看