문자열을 ByteBuffer로 변환 한 다음 Java를 사용하여 ByteBuffer에서 다시 문자열로 변환합니다.
import java.nio.charset.Charset;
import java.nio.*;
String babel = "obufscate thdé alphebat and yolo!!";
System.out.println(babel);
//Convert string to ByteBuffer:
ByteBuffer babb = Charset.forName("UTF-8").encode(babel);
try{
//Convert ByteBuffer to String
System.out.println(new String(babb.array(), "UTF-8"));
}
catch(Exception e){
e.printStackTrace();
}
인쇄 된 베어 문자열을 먼저 인쇄 한 다음 array ()로 캐스팅 된 ByteBuffer를 인쇄합니다.
obufscate thdé alphebat and yolo!!
obufscate thdé alphebat and yolo!!
또한 이것은 나에게 도움이되었고, 문자열을 원시 바이트로 줄이면 무슨 일이 일어나고 있는지 검사하는 데 도움이 될 수 있습니다.
String text = "こんにちは";
//convert utf8 text to a byte array
byte[] array = text.getBytes("UTF-8");
//convert the byte array back to a string as UTF-8
String s = new String(array, Charset.forName("UTF-8"));
System.out.println(s);
//forcing strings encoded as UTF-8 as an incorrect encoding like
//say ISO-8859-1 causes strange and undefined behavior
String sISO = new String(array, Charset.forName("ISO-8859-1"));
System.out.println(sISO);
UTF-8로 해석 된 다음 다시 ISO-8859-1로 해석 된 문자열을 인쇄합니다.
こんにちは
ããã«ã¡ã¯