2017-11-29 5 views
0

문자열을 문자 전용 (a-zA-Z) 문자열로 변환하는 함수 또는 라이브러리를 아는 사람이 있습니까? 어쩌면 내 요구 사항을 충족하는 BaseN 구현이있을 수 있습니다.a-z (BaseN)의 문자 만 사용하여 문자열 (문자 및 숫자)을 인코딩하십시오.

어쩌면 나는 너무 명확하지 않으므로 다시 시도하고 있습니다. 예를 들어 인코딩 할 방법이 필요합니다. aaazzzttteeehhheeerrr 같은 문자열을 JGHSDJ67-878DUSDd-3434 (여기 수없는 숫자) 내가 다시 JGHSDJ67-878DUSDd-3434에 "aaazzzttteeehhheeerrr"디코딩하는 방법이 필요합니다 둘째

Base32 잘 보이지만, Base32는 예를 들어, 숫자 값을 포함 "JGHSDJ67-878DUSDd-3434"는 "JJDUQU2EJI3DOLJYG44EIVKTIRSC2MZUGM2A ===="Base32로 인코딩됩니다. 당신이 볼 수 있듯이 여전히 숫자 값이 있기 때문에 BASE32에 정의되어 있기 때문입니다. 그래서 내가 찾고있는 것은 문자 a-z만을 기반으로하는 인코딩입니다.

+0

그래서 제거 비 [A-ZA-Z] ? 또는'$'또는'%'등은 어떻게됩니까? – notyou

답변

0

숫자 및 특수 문자를 모두 제거 하시겠습니까? String resultString = subjectString.replaceAll("\\P{L}", "");

1

이 내가 그것을 테스트하지했습니다

String newString = yourString.replaceAll("[^a-zA-Z]",""); 

일 수도 있지만, 아이디어는 문자가 아닌 것은 대체하는 자바 완전히 대체하기 기능을 사용하는 것입니다

이 시도. 라이브러리를 요청했는데 Java로 태그를 추가 했으므로 코드를 사용할 수 있다고 가정합니다.

EDIT : 위의 코드는 String을 가져와 a-z 또는 A-Z가 아닌 문자를 모두 제거합니다.

1

아마도 같은 일이 후 단일 이진수로 문자열의 바이트 코드를 변환하여

String hello = "Hello!! :)"; 
    BigInteger bi = new BigInteger(hello.getBytes()); 
    String base32 = bi.toString(32); 

베이스에서 해당 번호를 포맷 32.

관련 문제