UNICODE字符串与二进制字符串互转

来源:互联网 发布:java数组初始化 编辑:程序博客网 时间:2024/05/08 23:43

UNICODE字符串与二进制字符串互转

有时会使用到的字符串与二进制字符串互相转换。


import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;public class Test {/** * @param args */public static void main(String[] args) throws Exception{// TODO Auto-generated method stubString src = "discover1";String origin = "";char [] strs = src.toCharArray();System.out.println(Arrays.toString(strs));/**字符串转二进制串,调用Integer.toBinaryString(Char char)*/for(int i = 0; strs.length > i; i++){origin += Integer.toBinaryString(strs[i])  + " ";}System.out.println("字符串转二进制串结果" + origin);/**二进制串转字符串, * 1:需要先将二进制字符串中的每一段转为CHAR类型() *  转法为:将此段二进制字符串转为INT数组,从INT数组中得到CHAR *转时应该注意每一段二进制字符串的长度能够转为一个CHAR * 2:将得到的每一个CHAR组成数组,使用String.valueOf(char [] )来得到字符串 * */String [] strarray = origin.split(" ");char [] preToStr = new char[strarray.length];for(int i = 0; i < strarray.length; i++){preToStr[i] = binstrToChar(strarray[i]);}String s = new String(preToStr);System.out.println(s);System.out.println("二进制串转字符串结果:" + String.valueOf(preToStr));}    // 将二进制字符串转换为char    private static  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;      }      // 将二进制字符串转换成int数组private static 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;}}


0 0
原创粉丝点击