Binary String ConverteUtil: 자바 문자열 과 바 이 너 리 상호 변환
15919 단어 util
방법 서명
방법 설명
public static String toBinaryString(String str)
일반 문자열 을 바 이 너 리 문자열 로 변환 합 니 다.
public static String toString(String binaryStr)
바 이 너 리 문자열 을 일반 문자열 로 변환 합 니 다.
public static int countBitOne(String binaryStr)
바 이 너 리 문자열 의 1 개 수 를 통계 합 니 다.
1. 도구 종류 원본 코드 변환
/**
*
* @Auth zongf
* @Date 2019-05-07
*/
public class BinaryStringConverteUtil {
private static final String BIN_SEPARATOR = " ";
/**
*
* @param str
* @return String
* @Auth zongf
* @Date 2019-05-07
*/
public static String toBinaryString(String str) {
if (str == null) return null;
StringBuffer sb = new StringBuffer();
byte[] bytes = str.getBytes();
for (byte aByte : bytes) {
sb.append(Integer.toBinaryString(aByte) + BIN_SEPARATOR);
}
return sb.toString();
}
/**
*
* @param binaryStr
* @return String
* @Auth zongf
* @Date 2019-05-07
*/
public static String toString(String binaryStr) {
if (binaryStr == null) return null;
String[] binArrays = binaryStr.split(BIN_SEPARATOR);
StringBuffer sb = new StringBuffer();
for (String binStr : binArrays) {
char c = binstrToChar(binStr);
sb.append(c);
}
return sb.toString();
}
/**
* 1
* @param binaryStr , :1101
* @return int
* @Auth zongf
* @Date 2019-05-07
*/
public static int countBitOne(String binaryStr) {
int cnt = 0;
if(binaryStr != null) {
byte[] bytes = binaryStr.getBytes();
for (byte aByte : bytes) {
if (aByte==49) {
cnt++;
}
}
}
return cnt;
}
/**
* int
* @param binStr
* @return int[]
* @Auth zongf
* @Date 2019-05-07
*/
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;
}
/**
*
* @param binStr
* @return char
* @Auth zongf
* @Date 2019-05-07
*/
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;
}
}
2. 테스트
2.1 테스트 사례
@Test
public void test1(){
String str = "abc";
//
String binaryStr = BinaryStringConverteUtil.toBinaryString(str);
// 1
int cnt = BinaryStringConverteUtil.countBitOne(binaryStr);
//
String newStr = BinaryStringConverteUtil.toString(binaryStr);
System.out.println(" :" + str);
System.out.println(" :" + binaryStr);
System.out.println("1 :" + BinaryStringConverteUtil.countBitOne(binaryStr));
System.out.println(" :" + newStr);
}
2.2 테스트 출력
:abc
:1100001 1100010 1100011
1 :10
:abc
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
12편: SOUI의 utilities 모듈을 DLL로 컴파일하는 이유는 무엇입니까?그러나 SOUI 기본값은 최소한 Utilities 모듈에서는 LIB 컴파일 모드를 제공하지 않습니다. utilities가 기본적으로 DLL 컴파일만 제공하는 이유는 Sstring 클래스가 utilities에서 이루어...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.